我想要来自mysql数据库的显示数据,如[Youtube] [1]评论10条评论'显示更多10'链接...我怎么能得到这个?
这是我的代码
$ entities = mysql_query(“SELECT timestamp
,username
,message
FROM comments
WHERE page_name
='$ message_page'Order By {{1} } DESC“);
timestamp
}
答案 0 :(得分:2)
你在尝试什么问题?到目前为止取得了什么成果?提及它,其他人很容易帮助你!
就你的问题而言,你必须在SQL查询中使用limit
,点击显示更多将需要使用ajax获取下一批记录
"select * from table_name where (your condition) 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功能。这应该是它。
答案 1 :(得分:1)
它是分页。
假设您的评论表为comm_tb
,字段为comm_id
等。
使用名为comm_id
的一个字段old_comm
创建其他搜索表
你以重复的方式做的是选择前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;
如果您拥有所有10条记录,则可以使用已显示注释的ID在old_comm
表中执行批量插入。
在多用户环境中,使用old_comm
扩展user
表,并在加载评论时考虑它。