カテゴリ X に関連するすべての投稿を表示するページがあります。各投稿に関連するコメントの表示に問題があります。
関連するデータベース テーブルは次のとおりです。
TABLE 'articles'
'article_id'
'title'
'article'
'updated'
'created'
TABLE 'categories'
'cat_id'
'category'
TABLE 'article2cat' (relates an article to a category using two primary keys)
article_id
cat_id
TABLE 'comments'
comment_id
comment
user
created
TABLE 'comment2article' relates a comment to an article using two primary keys)
comment_id
article_d
記事とコメントを取得する SQL クエリは次のとおりです。
SELECT articles.article_id, articles.title, articles.article, DATE_FORMAT(articles.created, "%b, %Y") AS date_created, comments.comment_id, comments.user, comments.comment
FROM articles INNER JOIN article2cat USING (article_id), comments INNER JOIN comment2article USING (comment_id)
WHERE cat_id=4
ORDER BY articles.created DESC;
記事とコメントを表示するコードは次のとおりです。
<table id="articles-table" cellpadding="0" cellspacing="0">
<?php while ($row = $result->fetch_assoc()) { ?>
<tr>
<td id="articles-article">
<div id="articles-article-internal">
<?php echo format($row['article']); ?></div>
</td>
</tr>
<tr>
<td><?php echo $row['comment']; ?></td>
</tr>
<tr>
<td> </td>
</tr>
<?php } ?>
</table>
問題は、特定の投稿/記事に関連するコメントのみをエコーアウトしようとするときです。現時点では、投稿に関係なくすべてのコメントを表示しています。
StackOverflow で同様の質問をいくつか見つけましたが、問題を解決するために使用できたものはありませんでした。