私は3つのテーブルを持っています:
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) two)");
私はそれをすべて1つの大きな配列に入れることを考えていたので、次のようなものです(ずさんな要約):
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 です$sql_tag
。最新の 5 件の投稿のすべての割り当てを選択するようにするにはどうすればよいですか? 投稿に対して 1 つのタグのみを選択します。