这是我第一次使用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