jQuery 数据表 - 如何更改服务器端排序顺序
jQuery Datatables - How to change serverside sort order
我目前正在使用这个服务器端 SQLite 版本的 Datatables
http://www.abrandao.com/2014/03/server-side-datatables-with-sqlite-or-mysql-via-pdo/
正如您在他们的在线演示中看到的那样,它的排序顺序很奇怪
http://www.abrandao.com/lab/datatable_pdo/client.php
A
B
C
a
b
c
是否可以在没有辅助细胞的情况下将其更改为这个?
a
A
b
B
c
C
或到
A
a
B
b
C
c
(未测试)示例 sippets
您可以从 example site 扩展基础数据库查询/请求(请参阅服务器端信息)
现有查询:
$pdo = new ServerDataPDO($db_dsn,$db_user,$db_pass,$d['sql'],$d['table'],$d['idxcol']);
$result=$pdo->query_datatables(); //now return the JSON Requested data */
echo $result;
需要查询扩展
$pdo->query("SELECT * FROM movie_table movie ORDER BY movie COLLATE NOCASE ASC");
如果您查看网站底部的 code(您需要下载 zip 文件),您可以在 serverdatapdo.php 的第 273 行找到函数 "query_datatables()" .在此函数中,您可以查看所有已定义的基本查询。
在函数的开头,你会发现变量"sOrder"。所以,我想,在您的情况下,您必须更改 "sOrder" 的定义才能更改 SQL 查询。
现有代码
$sOrder .= "`".$this->aColumns[ intval( $_GET['iSortCol_'.$i] ) ]."` ".
($_GET['sSortDir_'.$i]==='asc' ? 'asc' : 'desc') .", ";
建议代码
$sOrder .= "`".$this->aColumns[ intval( $_GET['iSortCol_'.$i] ) ]."` ".
($_GET['sSortDir_'.$i]==='asc' ? 'COLLATE NOCASE ASC' : 'COLLATE NOCASE desc') .", ";
编辑
否则,您也可以在 php 代码中使用从数据库接收的整个对象(排序等)。但在这种情况下,您的服务器或多或少地做了两次相同的工作。 :)
我目前正在使用这个服务器端 SQLite 版本的 Datatables
http://www.abrandao.com/2014/03/server-side-datatables-with-sqlite-or-mysql-via-pdo/
正如您在他们的在线演示中看到的那样,它的排序顺序很奇怪
http://www.abrandao.com/lab/datatable_pdo/client.php
A
B
C
a
b
c
是否可以在没有辅助细胞的情况下将其更改为这个?
a
A
b
B
c
C
或到
A
a
B
b
C
c
(未测试)示例 sippets
您可以从 example site 扩展基础数据库查询/请求(请参阅服务器端信息)
现有查询:
$pdo = new ServerDataPDO($db_dsn,$db_user,$db_pass,$d['sql'],$d['table'],$d['idxcol']);
$result=$pdo->query_datatables(); //now return the JSON Requested data */
echo $result;
需要查询扩展
$pdo->query("SELECT * FROM movie_table movie ORDER BY movie COLLATE NOCASE ASC");
如果您查看网站底部的 code(您需要下载 zip 文件),您可以在 serverdatapdo.php 的第 273 行找到函数 "query_datatables()" .在此函数中,您可以查看所有已定义的基本查询。
在函数的开头,你会发现变量"sOrder"。所以,我想,在您的情况下,您必须更改 "sOrder" 的定义才能更改 SQL 查询。
现有代码
$sOrder .= "`".$this->aColumns[ intval( $_GET['iSortCol_'.$i] ) ]."` ".
($_GET['sSortDir_'.$i]==='asc' ? 'asc' : 'desc') .", ";
建议代码
$sOrder .= "`".$this->aColumns[ intval( $_GET['iSortCol_'.$i] ) ]."` ".
($_GET['sSortDir_'.$i]==='asc' ? 'COLLATE NOCASE ASC' : 'COLLATE NOCASE desc') .", ";
编辑
否则,您也可以在 php 代码中使用从数据库接收的整个对象(排序等)。但在这种情况下,您的服务器或多或少地做了两次相同的工作。 :)