Php 如何使用数据表分页?

Php 如何使用数据表分页?,php,jquery,ajax,datatable,mariadb,Php,Jquery,Ajax,Datatable,Mariadb,现在我调用整个数据,并使用数据表在视图中表示它。但是,如果有大量数据,渲染速度会很慢。我们应该做些什么来改进 在这个数据表代码中 <script> $(function() { 'use strict'; $('#datatable1').DataTable({ responsive: true, ordering: false, language: {

现在我调用整个数据,并使用数据表在视图中表示它。但是,如果有大量数据,渲染速度会很慢。我们应该做些什么来改进

在这个数据表代码中

<script>
        $(function() {
          'use strict';

          $('#datatable1').DataTable({

            responsive: true,
            ordering: false,
            language: {
              searchPlaceholder: 'Search...',
              sSearch: '',
              lengthMenu: '_MENU_ items/page',
            }
          });
 </script>
在此sql代码和表视图代码中

$sql = "SELECT * FROM hospital_payment_data  where  store_mbrno =  '1' ";

if($result = mysqli_query($link, $sql)){               

        if(mysqli_num_rows($result) > 0){


            // echo "<table id='datatable1' class='table display responsive nowrap' style='width: 100%;'>";
            echo "<table id='datatable1' class = table style = 'width: 100%; font-size:12.3px; font-family:nanum; background-color:#01b3ed;'>";
            echo "<thead >";
            echo "<tr>";
            echo "<th>No</th>";
            echo "<th>chart_num</th>";                               
            echo "</tr>";
            echo "</thead>";

            echo "<tbody>";
        while($row = mysqli_fetch_array($result)){
            echo "<tr>";
            echo "<td>" . $row['id'] . "</td>";
            echo "<td>" . $row['chart_num'] . "</td>";             
           }

            echo "</tbody>";                            
            echo "</table>";
            // Free result set
            mysqli_free_result($result);       

        } 

我应该如何使用datatable、php和mariadb进行分页?

将结果限制为:

    $sql = "SELECT * FROM hospital_payment_data  
            WHERE store_mbrno =  '1'
            LIMIT 100 OFFSET ".$offset_var;
这样,您将返回每页100个结果。变量$offset_var可以像GET变量一样在SQL查询之前通过URL传递:

    $offset_var = $_GET['offset']??0;
然后,您可以将其用于分页的超链接

当然,您不应该忘记清理这个变量。比如:

    $offset_var = (int)$offset_var;
    if($offset_var<0) $offset_var=0;

另外,考虑一下最终的情况,当有人点击url中有一个大偏移量的页面时,请确保这个空页面仍然呈现出漂亮的效果。

它滞后了,是吗?是的,因为你正在加载所有内容,想象一下如果你有一百万行。只需加载前10或15行。使用服务器端数据表@Kevin是否有任何方法在客户端处理它?没有其他方法,只需遵循文档即可。这是一个处理这一切的类,我应该如何应用它?