Php 如何在不重新加载整个页面的情况下加载更多帖子?
在我的主页中,我通过以下代码显示表格的最后三行:Php 如何在不重新加载整个页面的情况下加载更多帖子?,php,jquery,ajax,load,Php,Jquery,Ajax,Load,在我的主页中,我通过以下代码显示表格的最后三行: $result = mysql_query("SELECT id, title, date, text FROM news WHERE hshs=1 ORDER BY date DESC LIMIT $p") or die(mysql_error()); 美元p的来源: $p = $_GET['page']; if ( empty($p) ) { $p = 2; $more = 4; } else{ if ( $p
$result = mysql_query("SELECT id, title, date, text FROM news WHERE hshs=1 ORDER BY date DESC LIMIT $p") or die(mysql_error());
美元p的来源:
$p = $_GET['page'];
if ( empty($p) ) {
$p = 2;
$more = 4;
}
else{
if ( $p < $postnum ) {
$more = $p + 2;
}
else{
$finish = 1;
}
}
这工作做得很好。但我有个问题。我不想再次加载整个页面来加载更多帖子。因为这将从页面顶部再次显示页面!我希望页面保持在原来的位置,而不将用户滚动到页面顶部,然后加载更多帖子
希望你能理解我 第1步单击“加载更多帖子”调用Ajax请求 第2步PHP将返回更多帖子作为对Ajax请求的响应 第3步最好使用jQuery将Ajax结果附加到适当的div中 注意:在MySQL查询中使用limit以获得正确的分页机制 使用: 使用ajax加载数据而不刷新页面。参考:请尝试以下示例
if ( $finish != 1 ) {
echo '<center><strong><a id="loadmore" href="?page='.$more.'">Load more posts...</a></strong></center>';
}
jQuery( document ).on( 'click', '#loadmore', function() {
jQuery.ajax({
url: "./path-to-your-sql-load",
data: {
ajax: '1',
page: '<?php echo $page+1; ?>'
},
method: 'get',
success: function( response ) {
console.log( response );
jQuery( '#results' ).append( response );
}
});
} );
if( $_GET[ 'ajax' ] == '1' ):
// ajax
else:
// no ajax
endif;