Ciao a tutti,
ho la necessità di caricare un nodo a caso di una particolare categoria.
Supponendo di avere a disposizione su $termine il mio id del vocabolario, come prendo questo nodo?
Ho provato a fare
<?php
$count = 1;
$sql = "SELECT n.title, n.nid FROM {node} n INNER JOIN {term_node} tn ON n.nid = tn.nid WHERE tn.tid in ($termine) AND n.status=1 ORDER BY n.created DESC";
$result=db_query(db_rewrite_sql($sql), 0, $count);
while ($anode = db_fetch_object($result)) {
print $anode->title;
}
?>ma $anode sembra non contenere niente (tralasciando il fatto che non è una scelta casuale).
Cosa mi consigliate?
tramite sql o tramite views?
Nel secondo caso la cosa da fare mi sembra banale, nel primo caso cercherei un nid nella tabella term_node e poi carichi il relativo nodo:
<?php
$termine = 10;
$nid = db_fetch_object(db_query("SELECT nid FROM {term_node} WHERE tid = %d LIMIT 1", $termine));
$node = node_load(array('nid' => $nid));
print theme('node', $node);
?>PS: ovviamente mancano un pò di controlli, tipo nodo pubblicato, ...
__________________alla fine ho utilizzato:
<?php
$terms = $node->tid;
$termine = $terms;
$nid = db_fetch_object(db_query("SELECT nid FROM {term_node} WHERE tid = %d LIMIT 1", $termine));
$nodea = node_load($nid);
?>
Iscritto il: 31 Gen 07