2

我正在使用数据表进行分页,因为它是客户端,所以获取整个数据(超过 50000)会使我的页面太忙而崩溃。这是我的代码。我该怎么办?

$q="select * from table";
$rs = $oAppl->query($q);
<table class="display" id="example">
            <thead>
                <tr>
                   <th class="th_title">ID</th>
                   <th class="th_title"> Name</th>
                  </tr>
            </thead>
            <tbody>
            <?php
             while ( $rw = $oAppl->row($rs) ) {
             ?>
                <tr class="item">
                    <td ><?php echo $rw["id"]; ?></td>
                   <td class="subject"><?php echo $rw["name"]; ?></td>
   </tr>
               <?php
               }
               ?>
            </tbody>
        </table>
 $(document).ready(function() {
$('#example').dataTable();
 }
4

1 回答 1

2

不要将那么多数据加载到浏览器中。只是让用户去做。您可以将页码放在数据块下方,用户将单击该页码。例如,如果用户单击第 2 页,则调用一个JQuery函数,该函数AJAX调用服务器并从表中获取第二个 10 行(例如再次)。您可以将 50000 行数据划分为您想要的任意数量的页面,然后page_number*minimum_row_count从服务器加载行数。

更新:(评论后)

不幸的是,我现在不能给你代码示例,因为我正在开会;) Datatables 有一个键bServerSide,它基本上告诉构造函数“你要获取”。并且还通过指定sAjaxSource,sServerMethodiDisplayLength在初始化程序中,您可以设置您想要的。这里有一些有用的链接。如果您还有任何问题,我可以在今晚晚些时候提供代码示例;)

数据表服务器端的东西

数据表自定义变量

于 2013-01-07T14:16:21.250 回答