Hola gente, buenos estoy hasta los... del flexigrid este, llevo 2 dias intentando que me muestre todos los registros y no hay manera.
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">
<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.5.2.min.js"></script> <script type="text/javascript" src="./js/flexigrid.js"></script> <!--<script type="text/javascript" src="./js/jquery-1.7.2.min.js"></script>-->
<script type="text/javascript" src="./js/jquery-ui-1.8.20.custom.min.js"></script>
<div class="flexigrid" style=" margin-left:25%; margin-top:100px;"> Taula
<table id="flex" style="display:none">
<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
});
});
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);
?>
Haciendo pruebas, ejecuto el postjson.php y me muestra el array completito y correcto.
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!!!