【发布时间】:2012-06-19 21:39:21
【问题描述】:
我有三张桌子:
-
post(id) - 包含所有条目 -
tag(id) - 拥有所有标签 -
assign(post_id,tag_id) - 为帖子分配标签,一个帖子可能有多行
这是我目前所拥有的:
$sql_post = mysql_query("SELECT title,content,time,web FROM post ORDER BY time DESC LIMIT 5");
$sql_tag = mysql_query("SELECT tag.name,tag.id,post.id FROM assign LEFT JOIN tag ON assign.tag_id=tag.id LEFT JOIN post ON assign.post_id=post.id WHERE post.time> (SELECT MIN(time) FROM (SELECT time FROM post ORDER BY time DESC LIMIT 6) 二)");
我想把它全部放在一个大数组中,所以像这样(草率的总结):
array(
post_id => array(
"title" => "post's title...",
"content" => "post's content...",
"tag" => array(
tag_id => "tag 1's name",
tag_id => "tag 2's name
...然后使用 foreach 将它们显示在我的博客上。
我需要帮助的是$sql_tag 的 sql。如何使它选择最新 5 个帖子的所有作业?它只为帖子选择一个标签。
【问题讨论】:
标签: php mysql tags blogs posts