分页上的DataTable服务器请求

时间:2013-01-07 14:01:45

标签: php jquery datatables server-side

我正在使用数据表进行分页,因为它是客户端,所以获取整个数据(超过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();
 }

1 个答案:

答案 0 :(得分:2)

请勿将大量数据加载到浏览器中。只需让用户这样做。您可以在数据块下方放置页码,用户将单击该页码。例如,如果用户单击页面2,则调用JQuery函数,该函数对服务器进行AJAX调用,并从表中获取第二行(例如,再次)。您可以将50000行数据划分为任意数量的页面,然后从服务器加载page_number*minimum_row_count行数。

更新 :(评论后)

不幸的是,我现在不能给你代码样本,因为我正在开会;)Datatables有一个键bServerSide,它基本上告诉构造函数“你要去取”。此外,通过在初始值设定项中指定sAjaxSourcesServerMethodiDisplayLength,您可以设置所需内容。这是一些有用的链接。如果您有任何问题,我可以在今晚稍后提供代码示例;)

datatables server side stuff

datatables custom variables