2010-11-21 55 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) . ')'; 

查詢代碼是由專家編寫的。但我不明白的休息和('; ... part.hope有人可以解釋這對我謝謝一個困難的查詢碼

回答

2

看成品生成的查詢(echo $query;),它會變得更加清晰

+0

。我們如何知道在foreach中「$ node-> taxonomy」是一個數組?當我循環時,我得到的輸出將是$ term的值。我不知道它是如何變成't.tid =%d'和$ term-> tid。謝謝 – runeveryday 2010-11-22 03:59:48

+0

@runeveryday我認爲「分類法」是一個預定義的對象。 'drupal_query()'。這是否回答你的問題? – 2010-11-22 09:48:42