Ver Mensaje Individual
  #7 (permalink)  
Antiguo 30/09/2011, 12:37
douglasroos
 
Fecha de Ingreso: agosto-2009
Mensajes: 59
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: [Problema] Como paginar datos en ajax y jquery?

A la final lo resolvi con este codigo:

Código PHP:
Ver original
  1. <?php
  2.  
  3. require("configs/aut_config.inc.php");
  4.  
  5. $marca = $_POST["mark"];
  6.  
  7. $modelo = $_POST["model"];
  8.  
  9. $ano = $_POST["year"];
  10.  
  11. $columnas = 4;
  12.  
  13. $limiteRegistros = 1;
  14.  
  15. $paginaActual = $_POST["pag"];
  16. if(empty($paginaActual))
  17. {
  18.     $paginaActual = 1;
  19.     echo "variable vacia";
  20. }
  21.  
  22. $mostrarDesde = ($paginaActual * $limiteRegistros) - $limiteRegistros;
  23.        
  24.     echo '
  25.     <script type="text/javascript">
  26.     $(document).ready(function(){
  27.        
  28. $(".pagination1").click(function (evento) {
  29.    evento.preventDefault();
  30.     var pagina = $(this).attr("name");
  31.     var marca = $(".marca").attr("name");
  32.     var modelo = $(".modelo").attr("name");
  33.     var ano = $(".ano").attr("name");
  34.    $.post("genera_listado.php", {
  35.         pag: pagina,
  36.         mark: marca,
  37.         model: modelo,
  38.         year:ano
  39.    }, function (data) {
  40.        $("#listado").html(data);
  41.    });
  42. });
  43.  
  44. $(\'a#vehi\').click(function(){
  45. $.fancybox.showActivity();  // Aqui la precarga pero no sale
  46. $.fancybox({
  47. \'width\'         : 730,                
  48. \'height\'        : 500,                
  49. \'autoScale\'     : false,                
  50. \'transitionIn\'  : \'elastic\',              
  51. \'transitionOut\' : \'elastic\',                          
  52. \'href\'          : this.href,
  53. \'type\'          : \'iframe\',
  54. \'opacity\'     : false,
  55. \'overlayShow\' : false
  56. });
  57. return false;
  58. });
  59. });
  60.     </script>
  61.     ';
  62.  
  63.  
  64.  
  65. $sqls = "SELECT id_publicacion FROM vehiculos WHERE id_marca = '$marca' and id_modelo = '$modelo' and ano = '$ano'";
  66. $rrs = mysql_query($sqls,$con);
  67.  
  68. $myTotal = mysql_num_rows($rrs);
  69.  
  70. $sql = "SELECT id_publicacion FROM vehiculos WHERE id_marca = '$marca' and id_modelo = '$modelo' and ano = '$ano' LIMIT $mostrarDesde , $limiteRegistros";
  71. $rr = mysql_query($sql,$con);
  72.  
  73. echo'<fieldset><legend><h2>Vehículos coincidentes con tu búsqueda</h2></legend><table border="0" cellspacing="10" cellpadding="0" align="center">';
  74.     echo "<tr>";
  75.     $nCol = 1; // contador de columnas
  76.  
  77. if (mysql_num_rows($rr) == 0){
  78.    
  79.    
  80.     echo "<td><img src='imagenes/busqueda.jpg' border='0'></td>";
  81.    
  82.     }else{
  83.  
  84. while ($arreglo = mysql_fetch_array($rr)){
  85.    
  86.     $id = $arreglo["id_publicacion"];
  87.    
  88.       if ($nCol <= $columnas)
  89.       {
  90.          echo "<td>";
  91.          $sSql = "SELECT id_carro,valor,marca,modelo,ano, id_imagen,ruta FROM vehiculos,imagenes WHERE vehiculos.id_publicacion = '$id' and imagenes.id_publicacion = '$id' and imagenes.principal = '1'";
  92.     $rrS = mysql_query($sSql,$con);
  93.         while ($arreglo2 = mysql_fetch_array($rrS)){
  94.        
  95.         $id_carro = $arreglo2["id_carro"];
  96.         $valor = $arreglo2["valor"];
  97.         $marca_veh = $arreglo2["marca"];
  98.         $modelo_veh = $arreglo2["modelo"];
  99.         $ano = $arreglo2["ano"];
  100.         $ruta = $arreglo2["ruta"];
  101.         echo "<table border=0 align='center'>"; //Se crea una tabla dentro de la celda para mostrar los productos ordenadamente
  102.         echo "<tr>";
  103.         echo "<td><a href='vehiculo.php?id=".$id."' id='vehi'><img src=".$ruta." border='0' width='141' height='106'></a></td>"; //Idealmente se debe mostrar la imagen del producto en esta celda
  104.         echo "</tr>";
  105.         echo "<tr>";
  106.         echo "<td align='center' class='precio'>Bs.F ".$valor."</td>";
  107.         echo "</tr>";
  108.         echo "<tr>";
  109.         echo "<td align='center' class='info'>".$marca_veh."&nbsp;".$modelo_veh."&nbsp;".$ano."<input type='hidden' name='".$marca."' class='marca'><input type='hidden' name='".$modelo."' class='modelo'><input type='hidden' name='".$ano."' class='ano'></td>";
  110.         echo "</tr>";
  111.         echo "</table>";
  112.         echo "</td>";
  113.         }
  114.          $nCol = $nCol + 1;
  115.          if ($nCol > $columnas)
  116.          {
  117.             $nCol = 1;
  118.             echo "</tr>"; //se cierra la fila actual
  119.             echo "<tr>"; //se abre una nueva fila          
  120.          } 
  121.       }      
  122.     } while ($arreglo=mysql_fetch_array($rr));
  123.     if ($nCol <= $columnas) //Si la condición no se cumplió en el ciclo anterior me aseguro de cerrar la Fila que quedo abierta
  124.     {
  125.        echo "</tr>";
  126.        
  127.     }  
  128.     echo "</table><div align='center' class='pagination'><font color='#0E4B7D'>P&aacute;ginas:</font>";
  129.        if($myTotal > $limiteRegistros)
  130. {
  131.     $numeroPaginas = ceil($myTotal / $limiteRegistros);
  132.  
  133.     for ($i = 1; $i <= $numeroPaginas; $i++)
  134.     {
  135.         if($paginaActual == $i)
  136.         {
  137.             echo " <b>$i</b> ,";
  138.         }
  139.         else
  140.         {
  141.             echo " <a href='#' class='pagination1' name='".$i."'>$i</a> ,";
  142.         }
  143.     }
  144. }
  145.        
  146. echo '</div></fieldset>';
  147. }
  148. ?>

La clase pagination es solo css para darle algo de estilo, si desean lo pueden obviar. funciona a la perfeccion. y pueden modificarlo para implementarlo en sus sites.

Espero sea de ayuda.

Saludos.