HTML
Código:
y aca el clientes.php<link rel="stylesheet" type="text/css" media="screen" href="css/jquery-ui-1.10.3.custom.min.css" /> <link rel="stylesheet" type="text/css" media="screen" href="css/ui.jqgrid.css" /> <script src="js/jquery-1.9.0.min.js" type="text/javascript"></script> <script src="js/jquery-ui-1.9.1.custom.min.js" type="text/javascript"></script> <script src="js/i18n/grid.locale-es.js" type="text/javascript"></script> <script src="js/jquery.jqGrid.min.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready(function(){ jQuery("#tblclientes").jqGrid({ url:'clientes.php', datatype: 'json', mtype: 'GET', colNames:['ID','NOMBRE', 'DIRECCION','TELEFONO','EMAIL'], colModel:[ {name:'id', index:'id', width:50, resizable:false, align:"center"}, {name:'nombre', index:'nombre', width:160,resizable:false, sortable:true}, {name:'direccion', index:'direccion', width:150}, {name:'telefono', index:'telefono', width:70}, {name:'barrio', index:'barrio', width:120} ], pager: '#paginacion', rowNum:10, rowList:[15,30], sortname: 'id', sortorder: 'asc', viewrecords: true, caption: 'CLIENTES' }); }); </script> </head> <body> <table id="tblclientes"></table> <div id="paginacion"> </div> </body>
Código:
$page = $_GET['page']; // Almacena el numero de pagina actual $limit = $_GET['rows']; // Almacena el numero de filas que se van a mostrar por pagina $sidx = $_GET['sidx']; // Almacena el indice por el cual se hará la ordenación de los datos $sord = $_GET['sord']; // Almacena el modo de ordenación if(!$sidx) $sidx =1; // Se crea la conexión a la base de datos $conexion = new mysqli("localhost","user","pass","BD"); // Se hace una consulta para saber cuantos registros se van a mostrar $result = $conexion->query("SELECT COUNT(*) AS count FROM empleados"); // Se obtiene el resultado de la consulta $fila = $result->fetch_array(); $count = $fila['count']; //En base al numero de registros se obtiene el numero de paginas if( $count >0 ) { $total_pages = ceil($count/$limit); } else { $total_pages = 0; } if ($page > $total_pages) $page=$total_pages; //Almacena numero de registro donde se va a empezar a recuperar los registros para la pagina $start = $limit*$page - $limit; //Consulta que devuelve los registros de una sola pagina $consulta = "SELECT id, nombre, direccion, telefono, barrio FROM empleados ORDER BY $sidx $sord LIMIT $start , $limit;"; $result = $conexion->query($consulta); // Se agregan los datos de la respuesta del servidor $respuesta->page = $page; $respuesta->total = $total_pages; $respuesta->records = $count; $i=0; while( $fila = $result->fetch_assoc() ) { $respuesta->rows[$i]['id']=$fila["id"]; $respuesta->rows[$i]['cell']=array($fila["id"],$fila["nombre"],$fila["direccion"],$fila["telefono"],$fila["barrio"]); $i++; } // La respuesta se regresa como json echo json_encode($respuesta);