0

我想显示来自 mysql 数据库的数据,例如 [Youtube][1] 评论 10 条评论“显示更多 10”链接......我怎么能得到这个?

那是我的代码

$entities = mysql_query("SELECT timestamp, username, messageFROM commentsWHERE page_name= '$message_page' ORDER BY timestampDESC");

        if (mysql_num_rows($entities) ==0) {
            echo '<strong>No comment, yet.</strong>';
            } else {
        while ($entities_row = mysql_fetch_assoc($entities)) {
        $entities_timestamp = $entities_row['timestamp'];
        $entities_username = $entities_row['username'];
        $entities_message = $entities_row['message'];

}

4

2 回答 2

2

您正在尝试什么查询?到目前为止取得了什么成就?提及它,其他人会很容易帮助您!就您的问题而言,您将不得不limit在 SQL 查询中使用,并且单击显示更多将需要使用 ajax 获取下一批记录

   "select * from table_name where (your condition) limit ".$offset.",".$limit.""

在这里,offset 是起点,limit 是要获取的记录数。因此,您的偏移量第一次为 0,限制为 10。下一次迭代(点击显示更多)它将是 10,10 下一个 20,10,依此类推

你的 jquery 函数看起来像这样

    $("#idOfShowMore").live('click',function({               
      $.ajax({
        url: "php file with query to database",
        type: 'POST',
        data: {"limit":"limit is 10 in your case"},
        dataType : "text",
        success: function(returnData){
            //append the return data on success
        }
       });
     })

希望它有所帮助:) 更新
SELECT timestamp, username, message FROM comments WHERE page_name = '$message_page' ORDER BY timestamp DESC limit 0,10
这里,0 是偏移量,10 是限制。这将获得查询返回的前 10 条记录。现在您必须将偏移量增加限制值,所以这样做--> offset = offset+limit;(首先将偏移量初始化为 0)
现在下一次迭代,您的偏移量将是 10,并且限制将保持 10,因为您需要一次获取 10 条记录。单击显示更多链接时调用 ajax 函数。应该是它.

于 2013-01-23T10:49:35.577 回答
1

它正在分页。假设您的评论表comm_tb包含字段comm_id等。创建一个额外的搜索表,其中包含一个字段comm_id,名为old_comm What you do,以重复的方式,是选择前 10 条评论,而不是那些已经选择的评论:

select * from comm_tb ct where not exists (select 1 from old_comm oc where oc.comm_id = ct.comm_id) and rownum <= 10;

old_comm当您拥有所有 10 条记录时,您可以使用已显示的评论 ID 对表执行批量插入。

在多用户环境中,扩展old_comm表格user并在加载评论时考虑它。

于 2013-01-23T10:46:53.967 回答