Ash*_*was 2 json codeigniter datatables
我正在使用数据表来显示数据库中的数据。我正在使用 CodeIgniter 进行服务器端脚本编写。这是表格图片
在我的服务器端编码中,我按国家/地区和降序查询我的数据库顺序。
我已经检查了用于调试目的的 CodeIgniter 选择查询,即
$this->db->get_compiled_select()
Run Code Online (Sandbox Code Playgroud)
它正在显示
'SELECT *
FROM `tmp`
ORDER BY `country` DESC'
Run Code Online (Sandbox Code Playgroud)
这里tmp是我的数据库名称,它运行良好。
这是我来自数据库的 json 响应-(由于文本太长,我无法向您展示整个 JSON 响应。这就是为什么我使用一些在线 json 解析站点来汇总我的数据。)
我的 json 响应根据对数据库的查询显示数据,即按降序排列的国家/地区列。这就是为什么第一个对象显示“津巴布韦”的原因。但是在数据表中它显示了其他数据,即"Andora"。
这是我的 javascript -
<script type="text/javascript">
$(document).ready( function () {
$('#myTable').DataTable( {
"responsive": true,
"processing": true,
"serverSide": true,
"ajax": {
"url": "http://localhost/adminDemo/admin/test",
"type": "POST"
},
"columnDefs" : [
{"width" : "20%", "targets" : 7},
{"width" : "30%", "targets" : 5},
{ "orderable": false, "targets": 7 } //Don't order the action column
]
} );
} );
</script>
Run Code Online (Sandbox Code Playgroud)
如果我在 datatables 参数中设置了"order": [[ 6, "desc" ]],那么它会在得到 json 响应后进行排序。我不想添加客户端脚本来订购一列。我只想在数据表中使用排序的 json 响应。谁能帮我这个?
该问题的一个简单解决方案是,只需[]为order选项指定空。
$('#example').DataTable( {
"order": []
} );
Run Code Online (Sandbox Code Playgroud)
DataTables 在初始化期间没有应用排序。行按它们被 DataTables 读取的顺序显示(即如果是 DOM 则是来自 DOM 的原始顺序,或者如果是 Ajax / 数据则是数据数组):
来源:数据表:订单
| 归档时间: |
|
| 查看次数: |
3854 次 |
| 最近记录: |