为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用查询限制、偏移量和 jquery 数据表进行分页?

如何使用查询限制、偏移量和 jquery 数据表进行分页?

PHP
慕少森 2023-04-28 16:27:57
我使用数据表制作了一个页面。但是随着数据量的增加,加载数据的速度变慢了,所以我们尝试进行分页。但是我不知道如何在当前代码中修改它。应该如何修改?在这个我的数据表脚本中 $(function() {          $('#datatable1').DataTable({            responsive: true,            order: [[ 1, "desc" ], [ 2, "desc"]],            language: {              searchPlaceholder: 'Search...',              sSearch: '',              lengthMenu: '_MENU_ items/page',            },            dom : 'Bfrtip',            buttons: [                'copy', 'excel', 'print'            ]          });        });在这个sql查询中    $sql = "SELECT id,  DATE_FORMAT(tranDate,'%Y-%m-%d') as tranDate, tranTime, date, cmd, paymethod, amount, orgRefNo, orgTranDate FROM noti_card_data  WHERE  mbrNO = '1'";in this table view code    if($result = mysqli_query($link, $sql)){                           if(mysqli_num_rows($result) > 0){                echo "<table id='datatable1' class = table style = 'width: 100%; font-size:12.5px; font-family:nanum; background-color:transparent;'>";                echo "<thead >";                echo "<tr>";                echo "<th>No</th>";                echo "<th>amount</th>";                echo "</tr>";                echo "</thead>";                echo "<tbody>";            while($row = mysqli_fetch_array($result)){                echo "<tr>";                echo "<td>" . $row['id'] . "</td>";                echo "<td>" . number_format($row['amount']) . "</td>";                echo "</tr>";            }                echo "</tbody>";                                            echo "</table>";                // Free result set                mysqli_free_result($result);                                              }             else{            }        }         else{    echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);    }     // Close connection    mysqli_close($link);   在这个视图中如何使用分页
查看完整描述

1 回答

?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

您可以通过获取分页所在的当前页面所需的数据集来实现此目的,而不是获取查询返回的所有数据集。

例如:

想象一下你在分页的第 1 页。如果你每页只需要 100 个项目,那么你可以将查询检索的项目限制为 100 个,这样可以更快地检索数据,因为而不是获取每个数据从查询中设置您刚刚获得 100 以显示在当前页面中。

您必须在网址中传递页码。想象一下您的网址就像下面提到的那样。

http://localhost/pagination.php?page=2

 // getting the current page to set the starting point to get data.

    if (isset($_GET['page'])) {

      $curPage = $_GET['page'];

    } else {

      $curPage = 1;

    }


    //number of items you need per a page

     $labels_per_page = 100;


     //setting the starting point according to the page no.                  

 if($curPage>1){

     $start = ($curPage-1)*$labels_per_page;

  }else{

     $start = 0;

  }                     


//limiting the query according to the starting point nd items per page

$sql = "SELECT id,  DATE_FORMAT(tranDate,'%Y-%m-%d') as tranDate, tranTime, date, cmd, paymethod, amount, orgRefNo, orgTranDate FROM noti_card_data  WHERE  mbrNO = '1' LIMIT ".$start .','.$labels_per_page ;

结果视图

//img1.sycdn.imooc.com//644b83dc0001daa306520065.jpg

我要查看

//img1.sycdn.imooc.com//644b83e60001e19906500037.jpg


查看完整回答
反对 回复 2023-04-28
  • 1 回答
  • 0 关注
  • 80 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信