2010-11-21 5 views
0
$query = 'SELECT DISTINCT(t.nid), n.nid, n.title FROM {node} n INNER JOIN {term_node} t ON n.nid = t.nid WHERE n.nid != %d AND ('; 

// except the current node 
$args = array($node->nid); 
    $tids = array(); 

    foreach ($node->taxonomy as $term) { 
$tids[] = 't.tid = %d'; 
    $args[] = $term->tid; 
} 

$query .= implode(' OR ', $tids) . ')'; 

le code de requête est écrit par un gourou. mais je ne comprends pas le reste et ('; ... part.hope quelqu'un peut l'expliquer pour moi de vous remercierun code de requête difficile

Répondre

2

Regardez la requête générée terminée (echo $query;) et il deviendra plus clair

+0

... comment savons-nous que dans foreach "$ node-> taxonomy" est un tableau? et quand je boucle, foreach ($ node-> taxonomy as $ term) { } la sortie que je reçois sera la valeur du $ term. Je ne sais pas comment ça se change en 't.tid =% d' et $ term-> tid .. merci – runeveryday

+0

@runeveryday Je pense que "taxonomy" est un objet prédéfini. 'drupal_query()'. Est-ce que cela répond à votre question? –

Questions connexes