基本上代码运行得很好,只是当数据变得越来越大时,加载速度变得非常非常慢。
有人可以建议如何提高加载速度吗?
下面是我的代码:
Javascript
<script type="text/javascript">
$(document).ready(function() {
$('#example').dataTable({
"bJQueryUI": true,
"sPaginationType": "full_numbers",
"aoColumnDefs": [{
'bSortable': false,
'aTargets': [0]
}]
});
});
</script>
数据表:
<table class="list" id="example">
<thead>
<tr>
<td class="first" width="1" style="text-align: center;"><input type="checkbox" onclick="$('input[name*=\'selected\']').prop('checked', this.checked);"></td>
<td class="left">Location ID</td>
<td class="left">Location</td>
<td class="left">Issued By</td>
<td class="left">Supervise by Role</td>
<td class="right">Action</td>
</tr>
</thead>
<tbody>
<?php
$sql = "SELECT * FROM location";
$query = mysql_query($sql) or die(mysql_error());
if (mysql_num_rows($query) > 0) {
while ($data = mysql_fetch_assoc($query)) {
?>
<tr>
<td style="text-align: center;"><input type="checkbox" name="selected[]" value="<?php echo $data['locationname']; ?>">
</td>
<td class="left"><?php echo $data['lid']; ?></td>
<td class="left"><?php echo $data['locationname']; ?></td>
<td class="left"><?php echo $data['issuedby']; ?></td>
<td class="left"><?php echo "Supervisor - " . $data['locationname']; ?></td>
<td class="right"> [ <a href="index.php?cmd=location&route=location&fn=view&lid=<?php echo $data['lid']; ?>">View</a> ] [ <a href="index.php?cmd=location&route=location&fn=edit&lid=<?php echo $data['lid']; ?>">Edit</a> ]</td>
</tr>
<?php
}
}
?>
</tbody>
</table>
最佳答案
如果您的数据集很大,您应该使用 AJAX 分块加载数据。
您可以通过以下链接获取有关向数据表添加新行的信息:
http://www.datatables.net/examples/api/add_row.html
如示例所示,数据表将自行处理分页和排序。
关于php - 提高datatable.js大规模数据加载速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25153760/