猿问

如何避免php中的分页重复记录?

我已经在php中完成了分页。但在某些记录之后,它会显示某些行的重复条目。


我的查询是第一次加载页面时


select * from sakhe WHERE status = 1 ORDER BY sakhe_id ASC limit 0,30


我在第二次滚动时的查询(它在一次滚动时执行了两次)


select * from sakhe WHERE status = 1 ORDER BY sakhe_id ASC limit 30,30


在此查询之后,我在控制台中找到了正确的数据。但它在现场显示重复。


我的 Js 代码是这样的


var page = 1;

var total_page = "";


function getresult(searches) {


    $.ajax({

        url: "process/Sakhe_list.php",

        type: "post",

        data: {

            Sakhe_name: $("#Sakhe_name").val(),

            page: page

        },


        success: function (data) {

            if (searches == true) {



                $("#rows").html(data);

            } else {

                $("#rows").append(data);

            }

        }

    });

}


$(document).ready(function () {


    getresult(false);


    $(window).scroll(function () {

        if ($(window).scrollTop() >= $(document).height() - $(window).height() - 5) {


            if ($(".current_page:last").val() <= $("#total_page").val()) {

                page = parseInt($(".current_page:last").val()) + 1;

                getresult(false);

            }

        }

    });



    $("#shopsubmit").click(function () {

        page = 1;

        getresult(true);

    });


    $("#reset").click(function () {

        $("#Sakhe_name").val("");



        page = 1;

        getresult(true);

    });

目前我正在获得最后 7 条重复记录。


慕哥9229398
浏览 317回答 2
2回答

明月笑刀无情

你的searches == true情况有问题。那是每次在 HTML 中附加数据的时候。修理它。它会正常工作。简单的删除条件并使用以下代码:if(data !== 'undefined' && data !== '') {&nbsp;&nbsp;$("#rows").html(data);&nbsp;}

哈士奇WWW

如果显示重复数据,则可以使用 DISTINCT 关键字从查询中修复select&nbsp;DISTINCT&nbsp;from&nbsp;sakhe&nbsp;WHERE&nbsp;status&nbsp;=&nbsp;1&nbsp;ORDER&nbsp;BY&nbsp;sakhe_id&nbsp;ASC&nbsp;limit&nbsp;0,30和:select&nbsp;DISTINCT&nbsp;from&nbsp;sakhe&nbsp;WHERE&nbsp;status&nbsp;=&nbsp;1&nbsp;ORDER&nbsp;BY&nbsp;sakhe_id&nbsp;ASC&nbsp;limit&nbsp;30,30
随时随地看视频慕课网APP
我要回答