Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在不重新加载整个页面的情况下加载更多帖子?_Php_Jquery_Ajax_Load - Fatal编程技术网

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;