如何使用mysql记录填充无序列表?

时间:2015-03-19 00:44:03

标签: php mysql

我正在为像我们正在构建的简单社交网络系统制作一个像wallpost的facebook。到目前为止,除了显示评论外,它的效果非常好。在我的数据库中,我有一个帖子表和另一个评论表。我在他们的特定帖子中显示评论的方式是,在我的评论表中,我有一个名为comment_id的列。因此,例如,如果帖子的ID为7且comment_id也为7,则评论将显示在具有相同ID的帖子下方。现在,我的问题是我可以在各自的帖子中成功显示评论,但只显示1。我希望所有评论都显示在他们所属的每个帖子中,但我似乎无法使其发挥作用。

<?php

require_once 'dbconfig.php';



$user = $_SESSION['user'];; 

echo '<form action="post.php" method="post" class="wallpost"><input 
type="text" name="post" size="50"><input type="submit" name="wallpost" 
value="Post"></form><br/>';

$query = $con->query("SELECT * FROM statuspost LEFT JOIN comments ON 
statuspost.id=comments.comment_id group by statuspost.id DESC");

while($i = $query->fetch_object()){

    echo '<span class="user">'.$i->user.'</span>'.'<br>'.'<span 
class="post">'.$i->post.'</span>'.' <form action="editpost.php?type=post&
id='.$i->id.'" method="post"><span id="edit'.$i->id.'" class="editfield" 
style="display:none;"><input type="text" name="edit"><input   
type="submit" 
value="Edit" class="editb"><br/></span><a href="#" 
 onclick="showEdit(edit'.$i->id.');">Edit </a><a 
href="remove.php?type=post&
id='.$i->id.'" >Remove</a><a href="comment.php"> Comment</a></form>'.'<br
/>'.'<form action="comment.php?for='.$i->id.'" method="post" 
id="comment">
<input type="text" name="comment" id="comment">
    <input type="submit" value="Comment" id="commentb"></form>'.'<br
/><ul><li>'.$i->comment.'</li></ul>';


}


?>

1 个答案:

答案 0 :(得分:0)

  

所以,例如,如果帖子的ID是7而comment_id也是7,则评论将出现在具有相同ID的帖子下方。 [...]但只显示了1

如果您要将评论与帖子ID相关联,那么每个帖子只会收到一条评论,因为您只能拥有一个唯一的帖子ID(假设您将帖子ID作为主键)。

您的post表格中应该有一列comments,并且该列会引用他们评论过的帖子。

当您进行查询时,您可以inner join对帖子进行评论,如下所示:

INNER JOIN comments ON comments.post = posts.id