我正在使用数据表进行分页,因为它是客户端,所以获取整个数据(超过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();
}
答案 0 :(得分:2)
请勿将大量数据加载到浏览器中。只需让用户这样做。您可以在数据块下方放置页码,用户将单击该页码。例如,如果用户单击页面2,则调用JQuery
函数,该函数对服务器进行AJAX
调用,并从表中获取第二行(例如,再次)。您可以将50000行数据划分为任意数量的页面,然后从服务器加载page_number*minimum_row_count
行数。
更新 :(评论后)
不幸的是,我现在不能给你代码样本,因为我正在开会;)Datatables有一个键bServerSide
,它基本上告诉构造函数“你要去取”。此外,通过在初始值设定项中指定sAjaxSource
,sServerMethod
和iDisplayLength
,您可以设置所需内容。这是一些有用的链接。如果您有任何问题,我可以在今晚稍后提供代码示例;)