评论像facebook脚本

时间:2011-05-20 23:07:46

标签: php

我已经有了一个脚本,允许登录的用户对其他用户发表评论。用户注释“men_id”的一个字段和在commented_men_id上注释的用户的另一个字段。好吧,我把它保存在注释表中并拉出来我做了一段时间我做了一个选择来获取men_id的注释,同时获取注释我做另一个while while循环内部循环获取用户名和id以返回它评论。现在,下一步是让其他用户在已经存在的评论之上发表评论。我想知道我是否必须创建另一个表或只是创建另一个表来获取另一个评论的评论。我还想知道在php脚本方面我是否必须在第二个while循环中创建另一个while循环以拉出子语句?

到目前为止,我有下一个结构

$sql1 = "SELECT id, mem_id, commented_id, comment 
         FROM comments 
         WHERE commented_id = '$id'";

while($row=msql_fetch_array($sql)) {
  $id_coment = $row['id'];
  $mem_id = $row['mem_id'];
  $comment = $row['comment'];

  $sql_member_data = msql_query("SELECT id, member_name FROM users WHERE id ='$id_coment'");

  while($row2=msql_fetchj_array($sql_member_data)) {
    $user_id =$row2['id'];
    $user_name =$row2['member_name'];

    echo '<div>'.$user_name.'</div>';

    echo '<div>'.$comment.'</div>';
  }
}

我建议可能不是最好的代码但它发布了评论,现在我如何在此脚本生成的评论中得到评论。

谢谢你们。

1 个答案:

答案 0 :(得分:2)

如果你真的想要像Facebook的评论系统这样的东西,你将不得不做更多的事情。我制作了自己的小系统,它的风格很好,有一些非常棒的jQuery效果。

以下是您的需求

  • 获取所有评论的部分(您有 - 检查语法错误)
  • 发表评论的表格和脚本

你可能需要使用jQuery和AJAX进行评论,还有一些jQuery像facebook一样自动刷新。

这是我的看法。没有其他人讨厌我,只是试图给它一些意见。

<?php

// Connect to database here

// Search and start loop to get all comments
$sql_comments = mysql_query("SELECT * FROM comments WHERE type='main'"); 
while($rows_comment=mysql_fetch_array($sql_comments)){

// Get comment information
$main_comment_id = "".$rows_comment['id']."";
$main_comment_mem_id = "".$rows_comment['mem_id']."";
$main_commented_id = "".$rows_comment['commented_id']."";
$main_comment = "".$rows_comment['comment']."";

// Get user information
$sql_member_data = msql_query("SELECT * FROM users WHERE id ='$main_comment_mem_id'");
while($row2=msql_fetchj_array($sql_member_data)) {
$user_id = "".$row2['id']."";
$user_name = "".$row2['member_name']."";
}

// Display comment
echo "<b>$user_name</b><br>$main_comment";

// Search for any sub-comments
$sql_subcomments = "SELECT * FROM comments WHERE sub_commented_id='$main_comment_id' AND type='sub'";
while($row_subcomment=msql_fetchj_array($sql_subcomments)) {

// Get sub comment information
$subcomment_id = "".$row_subcomment['id']."";
$sucomment_mem_id = "".$row_subcomment['mem_id']."";
$subcomment_comment = "".$row_subcomment['comment']."";

// Get sub commenter information
$sql_member_data_sub = msql_query("SELECT * FROM users WHERE id ='$subcomment_mem_id'");
    while($row2_sub=msql_fetchj_array($sql_member_data_sub)) {
        $user_id_sub = "".$row2_sub['id']."";
        $user_name_sub = "".$row2_sub['member_name']."";
    }

    // Echo sub comment
    echo "<div style='margin-left: 20px;'><b>$user_name_sub</b><br>$subcomment_comment</div>";

}

}

?>