如何知道最后点击加载更多按钮php ajax

时间:2018-06-12 03:02:54

标签: php jquery ajax

我已成功使用执行加载更多按钮功能 jQuery - AJAX load()方法,它的工作方式如下,当页面加载时显示我的db中的前3条注释,如果用户点击加载更多按钮,它将加载3条评论,用户点击一次加载3条评论,直到没有来自db的更多评论。

问题是当db没有更多评论时,用户必须一直向上滚动。这不是非常人性化,我知道可以回到顶部链接引导用户回去,有没有其他替代解决方案?

比如检测最后一次点击或者当db评论中没有更多数据时,则显示更少(仅显示前3条评论),就像facebook风格一样。 这是我的代码

<script>
$(document).ready(function(){
<?php if ( more_than_3_reviews($the_post_id)  ): ?>
        var reviews_count = 3 ;
        $("#show_more_reviews").click(function(){
            reviews_count = reviews_count + 3;
            $("#show_more").load("ajax/load_comments.php", {
                new_comments_count : comments_count,
                post_id: <?php echo $the_pro_id; ?>

            });
        });
<?php else: ?>   
        $("#show_more").remove();
<?php endif; ?>
}); 
</script> 

我的后端php文件

    if ($_SERVER["REQUEST_METHOD"] == "POST") {

        if(isset($_POST['new_comments_count']) and isset($_POST['post_id']) ){

            $comments_count = $_POST['new_comments_count'];
            $the_pro_id = $_POST['post_id'];

            $approved = "approved";
$stmt10 = mysqli_prepare($connection,"SELECT comment_name, product_id,comment_msg, date_time FROM comments WHERE product_id = ? and comment_status = ? LIMIT $comments_count");
mysqli_stmt_bind_param($stmt10, "is", $the_pro_id , $approved );
mysqli_stmt_execute($stmt10);

mysqli_stmt_bind_result($stmt10, $comment_name,$product_id,$comment_msg,$date_time);
mysqli_stmt_store_result($stmt10);


while(mysqli_stmt_fetch($stmt10)){ 

    $get_comment = <<<DELIMETER

    <div class="media">
    <a class="pull-left" href="#">
        <img class="media-object" src="http://placehold.it/64x64" alt="">
    </a>
    <div class="media-body">
        <h4 class="media-heading"> {$comment_name} &nbsp; <small>{$date_time}</small> </h4>
        {$comment_msg} 
    </div>
    </div>
    DELIMETER;
    echo $get_comment;     
            }    

        } // post get comments

    }   // if its POST request

任何帮助都将受到赞赏。

0 个答案:

没有答案