Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/05/2012, 01:37
joanan46
 
Fecha de Ingreso: septiembre-2011
Mensajes: 87
Antigüedad: 12 años, 7 meses
Puntos: 6
Exclamación Flexigrid utilizando JSON

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
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2.     <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
  3.     <meta name="author" content="Joanan" />
  4.     <link rel="stylesheet" type="text/css" href="./css/flexigrid.css" />
  5.     <link type="text/css" href="./css/ui-lightness/jquery-ui-1.8.20.custom.css" rel="stylesheet" />
  6.     <script type="text/javascript" src="./js/jquery-1.5.2.min.js"></script>
  7.     <script type="text/javascript" src="./js/flexigrid.js"></script>    
  8.     <!--<script type="text/javascript" src="./js/jquery-1.7.2.min.js"></script>-->
  9.     <script type="text/javascript" src="./js/jquery-ui-1.8.20.custom.min.js"></script>
  10.     <title>Untitled 3</title>
  11. </head>
  12.  
  13.  
  14.  
  15. <div class="flexigrid" style=" margin-left:25%; margin-top:100px;">
  16.     Taula
  17.     <table id="flex" style="display:none">
  18.     </table>
  19. </div>
  20.  
  21. <script type="text/javascript">  
  22.  
  23. $(document).ready(function() {
  24.     $("#flex").flexigrid({
  25.         url: 'postjson.php',
  26.         dataType: 'json',
  27.         colModel : [
  28.             {display: 'CIF', name : 'cif', width : 150, sortable : true, align: 'left'},
  29.             {display: 'NOM', name : 'nom', width : 150, sortable : true, align: 'left'},
  30.             {display: 'PAIS', name : 'pais', width : 20, sortable : true, align: 'center'}
  31.             ],
  32.         searchitems:[          
  33.             {display: 'CIF', name : 'cif', isdefault: true},
  34.             {display: 'NOM', name : 'nom'},
  35.             {display: 'PAIS', name : 'pais'}                   
  36.             ],    
  37.         sortname: "nom",
  38.         sortorder: "desc",
  39.         title: 'Equips',
  40.         width: 450,
  41.         useRp: true,
  42.         rp: 5,
  43.         usepager: true,
  44.         showTableToggleBtn: true,
  45.         height: 600
  46.    
  47.     });
  48. });
  49.  
  50. </body>
  51. </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);


?>
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!!!