Buenas tengo problemas con una columna select en un jqgrid, ya modifique el código según otros ejemplos que he visto y logre que el select me mostrara la lista pero no entiendo porque no me muestra la información de la base de datos en la columna proyecto .. estos son los codigos que estoy utilizando:
este es grid.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>jqGrid Ejemplo 1: Cargar datos de una tabla MySql </title>
<link rel="stylesheet" type="text/css" media="screen" href="css/flick/jquery-ui-1.8.16.custom.css" />
<link rel="stylesheet" type="text/css" media="screen" href="jqgrid/css/ui.jqgrid.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js" type="text/javascript"></script>
<script src="jqgrid/js/i18n/grid.locale-es.js" type="text/javascript"></script>
<script src="jqgrid/js/jquery.jqGrid.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
jQuery("#tblagentes").jqGrid({
url:'clientes.php',
datatype: 'json',
mtype: 'POST',
colNames:['ID','NOMBRE', 'ESTADO','PROYECTO'],
colModel:[
{name:'Id_Agente', index:'Id_Agente', width:50, resizable:false, align:"center"},
{name:'Nombre', index:'Nombre', width:160,resizable:false, sortable:true},
{name:'Estado', index:'Estado', width:150},
{name:'id_proyecto', index:'id_proyecto', width:70, editable: true,formatter: 'select', edittype: 'select',editoptions:{dataUrl:'listaproyectos.php' },cacheUrlData: true}
],
pager: '#paginacion',
cellEdit:true,
cellurl:'edit.php',
rowNum:10,
rowList:[15,30],
sortname: 'id_agente',
sortorder: 'asc',
viewrecords: true,
caption: 'AGENTES'
});
});
</script>
</head>
<body>
<table id="tblagentes"></table>
<div id="paginacion"> </div>
</body>
</html>
****************************************
y este es clientes.php donde trae los datos
<?php
$page = $_POST['page']; // Almacena el numero de pagina actual
$limit = $_POST['rows']; // Almacena el numero de filas que se van a mostrar por pagina
$sidx = $_POST['sidx']; // Almacena el indice por el cual se hará la ordenación de los datos
$sord = $_POST['sord']; // Almacena el modo de ordenación
if(!$sidx) $sidx =1;
// Se crea la conexión a la base de datos
$conexion = new mysqli("127.0.0.1","root","xxx","xxx");
// Se hace una consulta para saber cuantos registros se van a mostrar
$result = $conexion->query("SELECT COUNT() AS count FROM agentes");
// 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 * FROM agentes where estado=1";
$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_Agente];
$respuesta->rows[$i]['cell']=array($fila[Id_Agente],$fila[Nombre],$fila[Estado],$fila[id_proyecto]);
$i++;
}
// La respuesta se regresa como json
echo json_encode($respuesta);
?>
de antemano gracias por la ayuda...