這是我第一次使用JOIN子句,並且遇到了問題。我想回顯我的項目的所有必要信息,但我不明白如何回顯一個項目的所有標籤,現在,如果爲一個項目分配了多個標籤,我會得到一個包含項目重複但列表不同的標籤的列表項目。有任何想法嗎?更好的方法來做到這一點,也非常感謝。SQL JOIN獲取項目的名稱和所有標籤
$query = "SELECT categories.id, categories.category, spots.spot_name, spots.category_id, spots.description, spots.slug, districts.id, districts.district, tags.spot_id, tags.tag ".
"FROM categories, spots, districts, tags ".
"WHERE categories.id = spots.category_id AND districts.id = spots.district_id AND tags.spot_id = spots.id";
$result = mysql_query($query);
if (!$result) {
die('Invalid query: ' . mysql_error());
}
while ($row = @mysql_fetch_array($result)){
echo '<tr><td style="background:#000; color:#ccc;" class="tooltip" title="'.$row["description"].'Tags: '.$row["tag"].'"><a style="color:#fff;" href="/'.$row["slug"].'">'.$row["spot_name"].'</a></td>
<td>'.$row["category"].'</td>
<td>'.$row["district"].'</td>
<td>****</td>
</tr>
';
}
萬分感謝,
安德斯
嗨,感謝您的快速回復,但這給了我完全相同的結果我的代碼。任何關於如何讓所有標籤都回應一個項目並且沒有重複項目(點)在我的表中迴應的建議? – 2010-07-22 07:14:24
哦!抱歉!你是對的。有一個簡單的解決方案。你可以在PHP中合併同一個ID的記錄:D – 2010-08-01 08:10:17