Volevo mostrare i termini di un determinato vocvabolario...
Ho trovato questo codice
<?php
$query = "SELECT tid, name from {term_data} WHERE description = '' ORDER BY name ASC";
$result = db_query($query);
while ($term = db_fetch_object($result)) {
$items[]= l($term->name, "taxonomy/term/$term->tid");
}
if(count($items)) {
return theme('item_list',$items);
}
?>
Solo che mi mostra tutti i vocabolari, come faccio a selezionare un vocabolario specifico?
Ciao,
$query = "SELECT tid, name from {term_data} WHERE description = '' ORDER BY name ASC";
significa che "pesca" dalla tabella term_data dove la descrizione è vuota in ordine per nome ascendente
Questa trova il termine Abbigliamento se presente:
$query = "SELECT tid, name from {term_data} WHERE name = 'Abbigliamento' ORDER BY name ASC";
Questa trova ID in ordine decrescente:
$query = "SELECT tid, name from {term_data} WHERE tid>10 ORDER BY tid DESC";
Questa è una INNER JOIN che restituisce le righe delle tabelle se c'è un legame, altrimenti non le mostra.
SELECT
prefisso_vocabulary.vid, prefisso_vocabulary.name, prefisso_term_data.vid, prefisso_term_data.name
FROM
prefisso_vocabulary
INNER JOIN
prefisso_term_data
ON
prefisso_vocabulary.vid = prefisso_term_data.vid
WHERE
prefisso_vocabulary.vid=1
!! attenzione cambiare il prefisso_ questo è solo un esempio !!
non ci ho capito una mazza....
comunque.... io ho fatto una domanda ben precisa: ofvvero questo mostra tutti i vocabolari a me interessa uno solo... quindi come si fa?
dove devo mettere 22 se il vocabolario è il 22?
cioè come si scrive mostrami tutti i termini della taxonomy numero 22?
www.dragossido.com drupal 7.x
www.io-ho.com drupal 7.x
www.io-imparo.com drupal 7.x
www.spettacolando.com drupal 7.x
www.napolisgulf.com php
ad esempio se scrivo....
SELECT tid, name FROM {term_data} WHERE vid = 22
.....
perchè non funziona?
www.dragossido.com drupal 7.x
www.io-ho.com drupal 7.x
www.io-imparo.com drupal 7.x
www.spettacolando.com drupal 7.x
www.napolisgulf.com php
ho scritto:
<?php
$query = "SELECT tid, name FROM {term_data} WHERE vid = 22";
$result = db_query($query);
while ($term = db_fetch_object($result)) {
$items[]= l($term->name, "taxonomy/term/$term->tid");
}
if(count($items)) {
return theme('item_list',$items);
}
?>
.......
solo che mi dice:
Parse error: syntax error, unexpected T_VARIABLE in /home/dragossi/domains/dragossido.com/public_html/includes/common.inc(1695) : eval()'d code on line 6
www.dragossido.com drupal 7.x
www.io-ho.com drupal 7.x
www.io-imparo.com drupal 7.x
www.spettacolando.com drupal 7.x
www.napolisgulf.com php
ho trovato la soluzione, per chi fosse interessato al codice eccolo:
<?php
$taxmenu = "SELECT tid, name FROM {term_data} WHERE vid = 3";
$result = db_query($taxmenu);
while ($data = db_fetch_object($result)) {
$output .= '<li><a href="'.$base_path.'/taxonomy/term/'.urlencode($data->tid).'">'.$data->name.'</a></li>';
}
print $output;
?>
Basta cambiare Il numero "3" e mettere quello del vocabolario!
www.dragossido.com drupal 7.x
www.io-ho.com drupal 7.x
www.io-imparo.com drupal 7.x
www.spettacolando.com drupal 7.x
www.napolisgulf.com php
Bene dragossido, mi fa piacere che hai macinato la soluzione, se per te quel codice va bene allora ok.
Ciao!
Bhe... i teremini della taxonomy mi appaiono... ed è quello che importa! :):):)
quando ho visto errore
Parse error: syntax error, unexpected T_VARIABLE in /home/dragossi/domains/dragossido.com/public_html/includes/common.inc(1695) : eval()'d code on line 6
ho capito che asvevo sgbagliato alla riga 6, ma che quello che avevo scritto prima era giusto...
quindi ho preso un po' di php spicciolo che conoscevo e ho ricostruito le istruzioni successive cambiando anche un po' le istruzioni $
E il risultato è buono.,.. se suggerisci modifiche fai pure... io ho un php moooooooooooloto spicciolo! :):):)
www.dragossido.com drupal 7.x
www.io-ho.com drupal 7.x
www.io-imparo.com drupal 7.x
www.spettacolando.com drupal 7.x
www.napolisgulf.com php