A continuacion os muestro los archivos.
Aqui donde se muestran los datos en la grid, es html.
Código HTML:
Ver original
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> <meta name="author" content="Joanan" /> <link rel="stylesheet" type="text/css" href="./css/flexigrid.css" /> <link type="text/css" href="./css/ui-lightness/jquery-ui-1.8.20.custom.css" rel="stylesheet" /> <!--<script type="text/javascript" src="./js/jquery-1.7.2.min.js"></script>--> </head> <body> <div class="flexigrid" style=" margin-left:25%; margin-top:100px;"> Taula <table id="flex" style="display:none"> </table> </div> <script type="text/javascript"> $(document).ready(function() { $("#flex").flexigrid({ url: 'postjson.php', dataType: 'json', colModel : [ {display: 'CIF', name : 'cif', width : 150, sortable : true, align: 'left'}, {display: 'NOM', name : 'nom', width : 150, sortable : true, align: 'left'}, {display: 'PAIS', name : 'pais', width : 20, sortable : true, align: 'center'} ], searchitems:[ {display: 'CIF', name : 'cif', isdefault: true}, {display: 'NOM', name : 'nom'}, {display: 'PAIS', name : 'pais'} ], sortname: "nom", sortorder: "desc", title: 'Equips', width: 450, useRp: true, rp: 5, usepager: true, showTableToggleBtn: true, height: 600 }); }); </script> </body> </html>
Aqui el archivo postjson.php, donde indica el codigo javascript
Código PHP:
<?php
header("Content-type: application/json");
include ('GestorBD.php');
/**
* @author Joanan
* @copyright 2012
*/
//Connect to Oracle database
$DB = new GestorBD();
$page = isset($_POST['page']) ? $_POST['page'] : 1;
$rp = isset($_POST['rp']) ? $_POST['rp'] : 10;
$sortname = isset($_POST['sortname']) ? $_POST['sortname'] : 'cif';
$sortorder = isset($_POST['sortorder']) ? $_POST['sortorder'] : 'desc';
$query = isset($_POST['query']) ? $_POST['query'] : false;
$qtype = isset($_POST['qtype']) ? $_POST['qtype'] : false;
$sortSql = "order by $sortname $sortorder";
$where = "";
if ($query) $where = " WHERE $qtype LIKE '%".$DB->qstr($query)."%' ";
$sql = "select count(*)
from equip";
$recordSet = $DB->getConsulta($sql);
$total = $recordSet->fields[0];
$pageStart = ($page-1)*$rp;
$data = array();
$data['page'] = $page;
$data['total'] = $total;
$data['rows'] = array();
$sql = "select ROWNUM as rn, e.equ_cif as CIF, e.equ_nom as NOM, e.equ_seu as NSEU
from equip e, pais p
$where";
$sql2 = "select * from (".$sql.") where rn between $pageStart and $rp $sortSql";
$jsonData = array('page'=>$page,'total'=>$total,'rows'=>array());
$recordSets = $DB -> getConsulta($sql2);
while (!$recordSets->EOF) {
$entry = array( 'cif' => $recordSets->fields["CIF"],
'cell' => array('cif'=>$recordSets->fields["CIF"],
'nom'=>$recordSets->fields["NOM"],
'pais'=>$recordSets->fields["NSEU"]),
);
$jsonData['rows'][] = $entry;
$recordSets->MoveNext();
}
echo json_encode($jsonData);
?>
En el html creo que es donde tengo el problema, pero llevo 2 dias sin encontrarlo, resulta que en el codigo javascript, en la funcion flexigrid donde pone colModel, por probar le puse collModel con dos "l" y me mostraba la grid pero vacia.
Es muy raro, estoy con el credito de sintesi y me cago en todo.
Agradezco toda ayuda!!!