【问题标题】:How can I listing data according to last data_id on pagination如何根据分页上的最后一个 data_id 列出数据
【发布时间】:2022-02-02 20:06:17
【问题描述】:

我的网页使用 mysql,我想列出数据。每页列出 21 个数据。页面底部如果有可以列出的数据下一页按钮单击它时是活动的,它将最后一个数据ID发送到第二页。一切都很正常,但是当我想上一个时,它是按所有表数据的 id 列出数据顺序。

例如:

在我的 sql 表中有 120 条数据; 第一页,第一个数据id是120,在同一页最后一个data_id是99。当我点击next时,它发送99到下一页和第二页列表数据;哪些数据低于 99 限制 21。然后我再次单击下一步发送页面的最后一个 data_id 并列出低于 78 的 data_id。

当我想从第三页返回到第二页时,它必须列出 data_id 低于 99 但列出的 data_id 低于 120 的数据。

我如何列出前 21 个数据高于 78。在 99,78 之间

我知道“之间”声明但有任何数据可以删除。所以数据ID是变化的

【问题讨论】:

  • 发送页码而不是id并在服务器端计算ids
  • 请提供足够的代码,以便其他人更好地理解或重现问题。

标签: php html mysql sql pdo


【解决方案1】:

以不同的方式解决它。当从 db 获取数据(如果按下 prev 按钮)时,仅通过使用条件和限制来使用 order。然后获取数据并使用 array_reverse 方法。

$isPrev=false;
if(isset($_GET["prev])){
$isPrev=true;

$query=$db->prepare("Select * from table_name where id>? limit 21);
$query->bindParam(1,$_GET['prev'];  

try{
     $query->execute();
     $queryresult=$query->fetchAll();

     if($isPrev==true){
           $queryresult=array_reverse($queryresult);
     }

     foreach($queryresult as  $results){

       // write there data
      }

   }
}

【讨论】:

    猜你喜欢
    • 2019-11-08
    • 1970-01-01
    • 2021-11-08
    • 1970-01-01
    • 2021-01-25
    • 1970-01-01
    • 2021-11-30
    • 2021-10-25
    • 1970-01-01
    相关资源
    最近更新 更多