我有两张桌子:
Table 1: Articles (id, name, title, content)
Table 2: Comments (id, comment, a_id)
表2包含a_id与表1中的id字段对应的注释,并且对于同一篇文章有几行
我使用了以下select语句:
$result = mysql_query("SELECT * FROM articles a JOIN comments c ON a.id = c.a_id WHERE a.name='$a'");
$row = mysql_fetch_array($result);
echo $row["title"]."<br/>".$row["content"]."<hr/>".$row["comments"]
除了安全问题之外,这显示了给定文章名称$ a的内容,但在应该存在多个注释时只给出一个注释。我该怎么办才能显示给定文章的所有评论?并且$ row [“comments”]不应该是一个数组吗?
我要做的最终结果是一次显示一篇文章,以及分配给给定文章的所有评论。目前我得到的只是一篇文章和一篇(第一篇)评论,即使表2中有多行与a_id字段具有相同的值
答案 0 :(得分:2)
你必须把你的fetch放在while循环中:
$i=0;
while($row = mysql_fetch_assoc($result))
{
if(!$i)
{
echo $row["title"]."<br/>".$row["content"]."<hr/>";
$i++;
}
echo $row["comment"] . "<hr />";
}