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);


