我試圖讓簡單的mysql選擇查詢標籤,我有3個表選擇查詢來獲取每POST_ID
post: post_id...
tags: tag_id, tag_name
post_tag: id_post, id_tag
我寫此查詢:
$sql=mysql_query("select * from post
LEFT JOIN post_tag
ON post_tag.id_post = post.post_id
LEFT JOIN tags
ON post_tag.id_tag = tags.tag_id
GROUP BY post_id
ORDER BY post_id
DESC LIMIT 5");
但我只得到一個每個帖子的標籤即使有更多的標籤具有相同的post_id?
while($row=mysql_fetch_array($sql))
{
$post_id =$row['post_id '];
$tag_name=$row['tag_name'];
echo $post_id $tag_name;
}
那是因爲你按POST_ID –
是的,否則會爲每個標籤打印「發佈」? – InTry
然後你可能需要像GROUP_CONCAT這樣的東西來聚合所有標籤的值。 [爲您的查詢添加了一個答案和建議] –