Oracle: Listar en Jquery Jtable con Oracle
Uno de los problemas que se presentan al usar el plugin de Jquery Jtable con una base de datos Oracle, es que no podemos usar los LIMIT como en MySQL, tenemos que usar los ROWNUM, pero si usamos los ROWNUM, no podemos ordenar correctamente los registros.
Por lo que para conseguir el mismo efecto que en MySQL tenemos que complicar la consulta SELECT, con la siguiente consulta conseguiremos emular el resultado que nos daría MySQL, y sólo tendréis que sustituir una línea o dos para adaptarla a vuestras necesidades:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
$sql="SELECT * FROM ( SELECT ROWNUM ROW_NUM, T.* FROM ( VUESTRA CONSULTA AQUI, EN ESTA LINEA ORDER BY " . $_GET["jtSorting"] . " ) T ) WHERE ROW_NUM BETWEEN ".$_GET["jtStartIndex"]." AND ".((int) $_GET["jtPageSize"]+$_GET["jtStartIndex"])." ORDER BY " . $_GET["jtSorting"]; |
Un ejemplo de uso sería el siguiente:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
$sql="SELECT * FROM ( SELECT ROWNUM ROW_NUM, T.* FROM ( SELECT ID, NOMBRE, TIPO, IP, USUARIO, MAC, NOTAS FROM TABLA $filtros ORDER BY " . $_GET["jtSorting"] . " ) T ) WHERE ROW_NUM BETWEEN ".$_GET["jtStartIndex"]." AND ".((int) $_GET["jtPageSize"]+$_GET["jtStartIndex"])." ORDER BY " . $_GET["jtSorting"]; |