Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/02/2013, 15:59
Avatar de jandrogdz
jandrogdz
 
Fecha de Ingreso: julio-2012
Ubicación: public $Guadalajara
Mensajes: 397
Antigüedad: 11 años, 10 meses
Puntos: 12
Pregunta Problema con paginacion

Buenas foro

Tengo un problema al hacer una paginación de una busqueda. Proceso la información en el mismo archivo, la paginación esta muy bien en la primer pagina pero al pasar a la siguiente pagina se pierden los datos alguien podria ayudarme.

Intente con una variable de session de tampoko me funciono

este es el archivo donde muestro todo:

Código PHP:
Ver original
  1. <?php
  2. require_once '../clases/connection.class.php';
  3. require_once '../clases/login.class.php';
  4. require_once '../clases/utilidades.class.php';
  5. require_once '../clases/reportes.class.php';
  6.  
  7. $connection=new Connection();
  8. $login=new login($connection);
  9. $utilidades=new utilidades($connection);
  10. $reportes=new reportes($connection);
  11. $login->seguridad();
  12. ?>
  13. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  14. <html xmlns="http://www.w3.org/1999/xhtml">
  15. <head>
  16. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  17. <title>Nuevo pedido</title>
  18. <link href="../img/favicon.png" type="image/x-icon" rel="shortcut icon" />
  19. <link rel="stylesheet" type="text/css" href="../styles/style.css" />
  20. <link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/redmond/jquery-ui.css" >
  21. <link type="text/css" rel="stylesheet" href="../styles/dhtmlgoodies_calendar.css?random=20051112" media="screen">
  22. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
  23. <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js"></script>
  24. <script src="../js/dhtmlgoodies_calendar.js?random=20060118"></script>
  25. <script src="../js/funciones.js"></script>
  26. <script src="../js/paginador_ajax.js"></script>
  27. <?php include '../fancyboxDentro.html'; ?>
  28. <script src="../js/abrirMensajes.js"></script>
  29. </head>
  30.  
  31. <body>
  32.     <div id="contenedor">
  33.         <?php echo $utilidades->header(); ?>
  34.         <?php if(!isset($_POST['search'])): ?>
  35.         <section id="advanceSearch">
  36.             <h1>Búsqueda avanzada</h1><hr />
  37.             <form action="" method="POST">
  38.                 <label>Desde: </label><input type="text" name="desde" readonly />
  39.                 <input type="button" onclick="displayCalendar(document.forms[0].desde,'yyyy/mm/dd',this)"/>
  40.                 <label>Hasta: </label> <input type="text" name="hasta" readonly />
  41.                 <input type="button" onclick="displayCalendar(document.forms[0].hasta,'yyyy/mm/dd',this)"/>
  42.                 <br />
  43.                 <label>Cliente: </label> <input type="text" name="cliente" id="cliente" size="60" />
  44.                 <br />
  45.                 <label>Asociado: </label><select name="asociados">
  46.                 <option selected="selected">.::Asociados::.</option>
  47.                 <?php
  48.                 if($asociados=$reportes->listarAsociados()):
  49.                     foreach($asociados as $asociado): ?>
  50.                     <option value="<?php echo $asociado->asociadoID; ?>"><?php echo $asociado->nombreAsociado; ?></option>
  51.                 <?php
  52.                     endforeach;
  53.                 endif; ?>
  54.                 </select>
  55.                 <div id="search"><input type="submit" name="search" value="Buscar"></div>
  56.                 <div class="clear" ></div>
  57.             </form>
  58.         </section>
  59.        
  60.         <?php else:?>
  61.        
  62.         <section id="filtrados">
  63.             <?php    
  64.             include 'paginador_resultados.php';
  65.             ?>
  66.         </section>
  67.         <?php endif; ?>
  68.        
  69.        
  70.         <br /><hr><br />
  71.         <?php echo $utilidades->footer(); ?>
  72.         <div class="clear"></div>
  73.     </div>
  74. </body>
  75. </html>


en este es donde proceso todo:

Código PHP:
Ver original
  1. <?php
  2. require_once '../clases/connection.class.php';
  3. require_once '../clases/reportes.class.php';
  4.  
  5. $connection=new Connection();
  6. $reportes=new reportes($connection);
  7.  
  8.  $RegistrosAMostrar=20;
  9.  
  10.  //estos valores los recibo por GET
  11.  if(isset($_GET['pag'])){
  12.   $RegistrosAEmpezar=($_GET['pag']-1)*$RegistrosAMostrar;
  13.   $PagAct=$_GET['pag'];
  14.   //caso contrario los iniciamos
  15.  }else{
  16.   $RegistrosAEmpezar=0;
  17.   $PagAct=1;
  18.  }              
  19. ?>
  20. <h1>Se encontraron <?php echo $reportes->encontrados($_POST['desde'],$_POST['hasta']); ?> coincidencias a tu búsqueda.</h1>
  21. <table width="100%">
  22.       <thead>
  23.         <tr>
  24.             <th>Folio</th>
  25.             <th>Fecha</th>
  26.             <th>Folio fiscal</th>
  27.             <th>Cliente</th>
  28.             <th>Subtotal</th>
  29.             <th>Iva</th>
  30.             <th>Total</th>
  31.             <th>PDF</th>
  32.         </tr>
  33.        </thead>
  34. <?php
  35.  if($filtrado=$reportes->listarResultados($_POST['desde'],$_POST['hasta'],$RegistrosAEmpezar,$RegistrosAMostrar)):
  36.        foreach($filtrado as $filtro): ?>
  37.        <tbody>
  38.             <tr>
  39.                 <td><?php echo $filtro->folio; ?></td>
  40.                 <td><?php echo $filtro->fecha; ?></td>
  41.                 <td><?php echo $filtro->folioFiscal; ?></td>
  42.                 <td><?php echo $filtro->cliente; ?></td>
  43.                 <td><?php echo "$ ".number_format($filtro->subtotaFactura,2,'.',','); ?></td>
  44.                 <td><?php echo "$ ".number_format($filtro->ivaFactura,2,'.',','); ?></td>
  45.                 <td><?php echo "$ ".number_format($filtro->totalFactura,2,'.',','); ?></td>
  46.                 <td><?php echo $filtro->nombrePDF; ?></td>
  47.             </tr>  
  48.        </tbody>
  49.  <?php endforeach;
  50.  endif; ?>
  51.        <tfoot>
  52.             <tr>
  53.                 <td colspan="6">&nbsp;</td>
  54.                 <td><?php echo "$ ".number_format($filtro->totalGeral,2,'.',','); ?></td>
  55.             </tr>
  56.        </tfoot>
  57. </table>
  58.  
  59.  
  60. <?php
  61.  //******--------determinar las p‡ginas---------******//
  62.  $NroRegistros=$reportes->encontrados($_POST['desde'],$_POST['hasta']);
  63.  $PagAnt=$PagAct-1;
  64.  $PagSig=$PagAct+1;
  65.  $PagUlt=$NroRegistros/$RegistrosAMostrar;
  66.  
  67.  //verificamos residuo para ver si llevar‡ decimales
  68.  $Res=$NroRegistros%$RegistrosAMostrar;
  69.  // si hay residuo usamos funcion floor para que me
  70.  // devuelva la parte entera, SIN REDONDEAR, y le sumamos
  71.  // una unidad para obtener la ultima pagina
  72.  if($Res>0) $PagUlt=floor($PagUlt)+1;
  73.  
  74.  //desplazamiento
  75.  ?>
  76.  <a onclick="Pagina('1')" >Primero</a>
  77.  <?php if($PagAct>1) ?><a onclick="Pagina('<?php echo $PagAnt; ?>')">Anterior</a>
  78. <strong>Pagina <?php echo $PagAct."/".$PagUlt ?></strong>
  79.  <?php if($PagAct<$PagUlt) ?><a onclick="Pagina('<?php echo $PagSig; ?>')" >Siguiente</a>
  80.  <a onclick="Pagina('<?php echo $PagUlt; ?>')" >Ultimo</a>

y este es el archivo ajax que hace el proceso.

Código Javascript:
Ver original
  1. function objetoAjax(){
  2.  var xmlhttp=false;
  3.   try{
  4.    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  5.   }catch(e){
  6.    try {
  7.     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  8.    }catch(E){
  9.     xmlhttp = false;
  10.    }
  11.   }
  12.   if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  13.    xmlhttp = new XMLHttpRequest();
  14.   }
  15.   return xmlhttp;
  16. }
  17.  
  18. function Pagina(nropagina){
  19.  //donde se mostrar‡ los registros
  20.  divContenido = document.getElementById('filtrados');
  21.  
  22.  ajax=objetoAjax();
  23.  //uso del medoto GET
  24.  //indicamos el archivo que realizar‡ el proceso de paginar
  25.  //junto con un valor que representa el nro de pagina
  26.  ajax.open("GET", "paginador_resultados.php?pag="+nropagina);
  27.  divContenido.innerHTML= '<img src="../img/cargando.gif">';
  28.  ajax.onreadystatechange=function() {
  29.   if (ajax.readyState==4) {
  30.    //mostrar resultados en esta capa
  31.    divContenido.innerHTML = ajax.responseText
  32.   }
  33.  }
  34.  //como hacemos uso del metodo GET
  35.  //colocamos null ya que enviamos
  36.  //el valor por la url ?pag=nropagina
  37.  ajax.send(null)
  38. }

He intentado de todo pero no logro hacer que funcione correctamente.

De antemano muchas gracias
__________________
Lo imposible solo cuesta un poco mas