根据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>
我怎么能让评论像在脸书上一样堆积起来呢?。
附言:我理解教程中的代码,我对PHP和编程有一些一般的知识,但我无法想出一种方法来做到这一点。
PS 2:我想用注释ID来检查它,并显示该ID的其他元素。是这样吗?
看看代码,while循环中总是使用相同的vars来存储注释内容,所以最后只得到最后一个注释。
相反,您可以在while循环中打印每条评论:
<?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
}
?>