显示评论

时间:2011-06-04 20:37:28

标签: php mysql comments messaging

嘿,大家好抱歉,如果这是一个业余问题,但我对此有点麻烦。

如何针对特定页面显示评论? (page.php文件?ID = 48)

因为现在,每次发表评论时,它都显示在所有页面上,而不是我想要发布的页面上

下面是代码:

$userfinal=$_SESSION['username'];
$rs = mysql_query("SELECT id FROM searchengine") or die(mysql_error());
$rec = mysql_fetch_assoc($rs);
$id = $rec['id'];

// get the messages from the table.
$get_messages = mysql_query("SELECT messages_id FROM messages WHERE to_user='$id' ORDER BY messages_id DESC") or die(mysql_error());

$get_messages2 = mysql_query("SELECT * FROM messages WHERE to_user='$id' ORDER BY messages_id DESC") or die(mysql_error());

$num_messages = mysql_num_rows($get_messages);
// display each message title, with a link to their content
echo '<ul>';

for($count = 1; $count <= $num_messages; $count++){
    $row = mysql_fetch_array($get_messages2); 
    // if the message is not read, show "(new)"
    // after the title, else, just show the title.
    if($row['message_read'] == 0)

感谢任何帮助,谢谢

1 个答案:

答案 0 :(得分:2)

看看我的示例代码。

考虑具有基本结构的表comments

CREATE TABLE `comments` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `comment` text NOT NULL,
  `article_id` int(11) NOT NULL,
  PRIMARY KEY (`id`)
);

comment列将保留您的评论文字

article_id保存其所属文章的外键。

现在假设您要从特定articleid article.php?id=48

中检索评论

这是你应该怎么做的。

$articleId = mysql_real_escape_string($_GET['id']);
$query = 'SELECT id,comment FROM comments WHERE article_id ='.$articleId;
$result = mysql_query($query);
while($row = mysql_fetch_array($result)) {
    echo nl2br($row['comments']);
}

虽然我的代码完全与您的问题无关,但它应该为您提供有关如何实现逻辑的基本知识。

编辑:

你不应该使用代码进行生产,代码只是为了解释你实现逻辑,记住这段代码容易受到SQL注入攻击,如果你想要临时修复你可以使用mysql_real_escape_string()函数来避免它。检查我的更新代码。

提示:您应该尝试使用PDO进行所有数据库查询,这是帮助您入门的教程http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/