多个mySQL调用评论部分

时间:2015-03-18 00:15:12

标签: php mysql

在关于youtube的教程之后,我使用php和mySQL做了一个简单的“评论系统”。它的效果很好,但只有一条评论,如果我再发表评论,它会显示我最后的评论。这是代码(我不包括表单,因为它在这里不相关。):

PHP sendComment.php(index.php形式的动作):

<?php

mysql_connect("127.0.0.1","root","");
mysql_select_db("comments");

$name = $_POST["name"];
$email = $_POST["email"];
$comment = $_POST["comment"];

mysql_query("insert into comments values('','$name','$email','$comment')");
header("location: index.php");

?>

PHP OF index.php:

<?php

    mysql_connect("127.0.0.1","root","");
    mysql_select_db("comments");

    $find_comments = mysql_query("select * from comments");
        while ($row = mysql_fetch_assoc($find_comments)) {

            $comment_name = $row['name'];
            $comment_email = $row['email'];
            $comment = $row['comment'];

        }

?>

最后,评论:

<div class="comment">
    <h2><?php echo "$comment_name";?></h2>
    <p><?php echo "$comment";?></p>
</div>

我怎样才能使评论像在facebook中那样叠加?。

PS:我理解教程中的代码,我对PHP和编程有一些了解,但我无法想出办法。

PS 2:我想过使用注释ID来检查它并显示该ID功能的其他元素。是这样的吗?

1 个答案:

答案 0 :(得分:1)

看看代码,你总是在while循环中使用相同的vars来存储评论内容,所以最后你只得到了最后的评论。

相反,您可以在循环中打印每个注释:

<?php

mysql_connect("127.0.0.1","root","");
mysql_select_db("comments");

$find_comments = mysql_query("select * from comments");
    while ($row = mysql_fetch_assoc($find_comments)) {
        ?>
        <div class="comment">
            <h2><?php echo $row['name'];?></h2>
            <p><?php echo $row['comment'];?></p>
        </div>
        <?php
    }

?>