如何解决从ajax发送数据时,如何在jQuery中使用DataTables对列进行排序?
<script>
var userdataTable = $('#user_data').DataTable({
"processing": true,"serverSide": true,"order":[],"ajax": {
url: "purchase_fetch.php",type: "POST",},"pageLength": 10
});
</script>
数据正确加载到表中,但排序不正确。你能帮我么! 可能缺少什么?我是jQuery和Ajax的新手。而且我还没有在DataTables上找到任何好的在线教程。
解决方法
- 在PHP中获取数据表的“ order”参数(它是有序列的索引和方向)
$orderArray = $_GET['order'];
- 在PHP中获取数据表“ colums”参数
$columns = $_GET['columns'];
- 将订单索引与列名匹配
if (!empty($orderArray )) {
$orderDir = $orderArray [0]['dir'];
$order = $orderArray [0]['column'];
if (array_key_exists($order,$columns )) {
$orderBy = $columns [$order ]['data'];
}
}
- 更改数据库查询
$sql = "SELECT * FROM MyTable mt
ORDER BY $orderBy $orderDir ";
这只是一个示例,使用PDO参数保护SQL。 如果datatable列名与数据库列名不同,则可以使用datatable的“ data”选项进行更改:
columns: [{title: "My Datatable Column Name",data: 'my_database_column_name'}]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。