我正在尝试实施评论系统,但它会返回该帖子的评论多次。
请帮我解决这个问题的代码。
谢谢。
我的样本就像:
<?php
include('connect.php');
?>
<form method="post">
Subject<br>
<input type="text" name="subject"><br><br>
Message<br>
<textarea name="text"></textarea>
<br>
<input type="submit" name="poster" value="Post">
</form>
<?php
if (isset($_POST['poster'])) {
$subject=$_POST['subject'];
$message=$_POST['text'];
$post=mysql_query("insert into comment (titles, message) values ('$subject', '$message')");
if ($post) {
echo "Data got";
}else{
echo "Failed";
echo mysql_error();
}
}
$select=mysql_query("SELECT comment.id, comment.titles, comment.message, replies.id, replies.idno, replies.subject, replies.textfile from comment left JOIN replies ON comment.id=replies.id ;");
while ($row=mysql_fetch_array($select)) {
echo "<b>".$row['titles']."</b><br>";
echo $row['message']."<br>";
echo "<a href=\"edit.php?id=$row[id]\">Reply</a><br>";
echo "<font color='green'><ul>".$row['textfile']."</ul></font><br><br>";
}
?>
但它返回:
谢谢。
答案 0 :(得分:0)
你的代码在这一行似乎有误:
$select=mysql_query("SELECT comment.id, comment.titles, comment.message, replies.id, replies.idno, replies.subject, replies.textfile from comment left JOIN replies ON comment.id=replies.id ;");
在左连接上,comment.id必须与replies.commentid等其他回复表字段进行比较,例如查询结尾必须如下:
ON comment.id=replies.commentid;");