Foros del Web » Programando para Internet » PHP »

Buscador y paginador en ajax

Estas en el tema de Buscador y paginador en ajax en el foro de PHP en Foros del Web. Hola emm no se como describir mi problema ya que la paginacion en php nunca la entendi , Se supone que que esto que tengo ...
  #1 (permalink)  
Antiguo 04/01/2012, 17:26
 
Fecha de Ingreso: diciembre-2011
Ubicación: Buenos aires
Mensajes: 14
Antigüedad: 12 años, 4 meses
Puntos: 0
Pregunta Buscador y paginador en ajax

Hola emm no se como describir mi problema ya que la paginacion en php nunca la entendi , Se supone que que esto que tengo es un buscador en ajax con paginacion de resultados...

El error que me tira es el siguiente :

Invalid query:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 0,10' at line 1


El Codigo :


Código HTML:
Ver original
  1. Buscador<br />
  2. <input type="search" placeholder="Buscar..." onKeyUp="Busqueda(this.value);" id="Busqueda" size="30" maxlength="30" />
  3. <br /><br />
  4. <div id="Estados"></div><br />


Código Javascript:
Ver original
  1. function Busqueda(Valores){
  2.      
  3.  // --- Variable ajax ---
  4.  ajax = new XMLHttpRequest();
  5.  
  6.  // --- Estados ---
  7.  ajax.onreadystatechange = function(){
  8.      // --- Si esta cargando ---
  9.      if(ajax.readyState==1 || ajax.readyState==2 || ajax.readyState==3){
  10.          document.getElementById('Estados').innerHTML='Cargando...';
  11.      }
  12.      // --- Si Termino ---
  13.      if(ajax.readyState==4 && ajax.status==200){
  14.         document.getElementById('Estados').innerHTML='';
  15.         document.getElementById('Resultados').innerHTML=ajax.responseText;
  16.      }
  17.   }
  18.  
  19.  // --- Abriendo ---
  20.  ajax.open("GET","Buscador/Paginas.php?Busqueda="+Valores);
  21.  ajax.send(null)
  22. }


Código PHP:
Ver original
  1. <?
  2. // --- Conexion mysql ---
  3. $Conexion = mysql_connect('localhost','root','lamocosa');
  4. mysql_select_db('ajax',$Conexion);
  5.  
  6. //Comprobando si existe la variable Pagina
  7. if(isset($_GET['Pagina'])){
  8.     $Pagina = $_GET['Pagina'];
  9. }else{
  10. //Si no existe : es la primera
  11.     $Pagina = 1;
  12. }
  13. $Busqueda = $_GET['Busqueda'];
  14.  
  15. // Consulta mysql ---
  16. $Consulta = mysql_query("SELECT * FROM Interprete WHERE interprete LIKE '%".$Busqueda."%'");
  17. // Resultados devueltos ---
  18. $Registros = mysql_num_rows($Consulta);
  19.  
  20. // Resultados Por Pagina
  21. $Resultados = 10;
  22.  
  23. // Calculo ultima pagina
  24. $Ultima = ceil($Registros/$Resultados);
  25.  
  26. //Compruebo que el valor de la página sea correcto y si es la ultima
  27. $Pagina = (int)$Pagina;
  28. if($Pagina > $Ultima){
  29.     $Pagina = $Ultima;
  30. }
  31. if($Pagina < 1){
  32.     $Pagina = 1;
  33. }
  34.  
  35. //Creo la sentencia LIMIT para añadir a la consulta que definitiva
  36. $Limite = "LIMIT ".($Pagina -1) * $Resultados.','.$Resultados;
  37.  
  38.  
  39. //Realizo la consulta que va a mostrar los datos (es la Anterior + EL $Limite)
  40. $Consulta= mysql_query("".$Limite."");
  41.  
  42. if(!$Consulta){
  43.         //Si falla Consulta ---
  44.  die('Invalid query:'.mysql_error());
  45.  
  46. }else{
  47.         echo '<Resultado id="Resultado">';
  48.         echo '<a href="'.$Campo['Url'].'"> ';
  49.         echo '<img src="'.$Campo['Imagen'].'"/>';
  50.         echo '.<Nombre id="Nombre">'.$Campo['Interprete'].'</Nombre>';
  51.         echo '</a></Resultado>';
  52. }
  53.  
  54.  
  55. //Muestro los comando si existe más de una pagina  
  56. if($Ultima != 0){
  57.    $Siguiente = $Pagina +1;
  58.    $Anterior = $Pagina -1;
  59. }
  60.  
  61. //Si es la primera se desabilita el boton
  62.  if ($Pagina == 1) {
  63.    
  64.     for($i= $Pagina +1 ; $i<= $Ultima ; $i++){
  65.     echo '<a href="Paginas.php?Pagina ='.$i.'">'.$i.'</a>';
  66.     }
  67. }
  68.  
  69. //Y si la ultima Página es mayor que la actual muestro el boton Siguiente o lo desabilito
  70.     if($Ultima >$Pagina ){
  71.       echo '<a href="Paginas.php?Pagina ='.$Siguiente.'" >Proxima &raquo;</a>';
  72.     }else{
  73.     echo 'Proxima &raquo;';
  74. }
  75.  
  76. echo '<a onclick="Pagina(\'1\') ">1</a>';
  77.  
  78.  if($Pagina>1){
  79.       echo '<a onclick="Pagina("'.$Anterior.'") "><</a> ';
  80.  }
  81.  
  82.  if($Pagina<$Ultima){
  83.     echo '<a onclick="Pagina("'.$Siguiente.'")">></a>';
  84.  }
  85.  echo '<a onclick="Pagina("'.$Ultima.'")">'.$Ultima.'</a>';
  86.  ?>
  #2 (permalink)  
Antiguo 04/01/2012, 17:41
 
Fecha de Ingreso: diciembre-2008
Mensajes: 190
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: Buscador y paginador en ajax

En la linea 40 del segundo bloque d código debe ir;

Código PHP:
Ver original
  1. $Consulta= mysql_query($Consulta." ".$Limite);

Saludos.
  #3 (permalink)  
Antiguo 04/01/2012, 17:57
 
Fecha de Ingreso: diciembre-2011
Ubicación: Buenos aires
Mensajes: 14
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Buscador y paginador en ajax

Cita:
Iniciado por turfeano Ver Mensaje
En la linea 40 del segundo bloque d código debe ir;

Código PHP:
Ver original
  1. $Consulta= mysql_query($Consulta." ".$Limite);

Saludos.
no lo soluciono y esa no era la solucion tampoco :S
  #4 (permalink)  
Antiguo 04/01/2012, 18:18
 
Fecha de Ingreso: diciembre-2008
Mensajes: 190
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: Buscador y paginador en ajax

AL error que vos pusiste si era la solucion y te lo dice claramente, estabas haciendo un mysql_query('LIMIT 0,10') ... eso no existe.
Lo que quise decir con

Código PHP:
$Consultamysql_query($Consulta." ".$Limite); 
era que concatenes la consulta a limite, por ej
Código PHP:
$cons "SELECT * FROM Interprete WHERE interprete LIKE '%".$Busqueda."%' ";

$Consultamysql_query($cons ." ".$Limite); 
Y por cierto, aparte de no tomarte dos segundos de interpretar un codigo, sos un desagradecido.
  #5 (permalink)  
Antiguo 04/01/2012, 22:49
 
Fecha de Ingreso: diciembre-2011
Ubicación: Buenos aires
Mensajes: 14
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Buscador y paginador en ajax

Haber tengo uno nuevo... me disculpo pero estoy demasiadamente dormido xD jajaja aca esta un poco más simplificado creo yo...



Código PHP:
Ver original
  1. <?
  2.  
  3. // --- Conexion mysql ---
  4. $Conexion = mysql_connect('localhost','root','lamocosa');
  5. mysql_select_db('ajax',$Conexion);
  6.  
  7. $Busqueda = $_GET['Busqueda'];
  8.  
  9. // --- Si no existe $Pagina o Si pagina es menor a 1 ---
  10. if(!isset($Pagina) || $Pagina<1){
  11.    
  12.     // --- Variable Pagina
  13.     $Pagina = $_GET['Pagina'];
  14.  
  15.     // -- Pagina es igual a 1
  16.     $Pagina = 1;
  17.    
  18.     // --- Empieza por el registro 0   
  19.     $A = 0;
  20. }else{
  21.     $Pagina = $_GET['Pagina'];
  22.     $A = 10*$Pagina;
  23.     $B = 20*$Pagina;
  24. }
  25.  
  26. // --- Consulta mysql ---
  27. $Cons = mysql_query("SELECT * FROM Interprete WHERE interprete LIKE '%".$Busqueda."%' LIMIT ".$A." , ".$B." ");
  28.  
  29. // --- Contabilizando los resultados de Interprete
  30. $Consulta = mysql_query("SELECT * FROM Interprete WHERE interprete LIKE '%".$Busqueda."%'");
  31. $Total = mysql_num_rows($Consulta);
  32.  
  33. $Ultima = ceil($Total/$A);
  34.  
  35.  
  36. while($Campo = mysql_fetch_assoc($Cons) ) {
  37.         echo '<Resultado id="Resultado">';
  38.         echo '<a href="'.$Campo['Url'].'"> ';
  39.         echo '<img src="'.$Campo['Imagen'].'"/>';
  40.         echo '.<Nombre id="Nombre">'.$Campo['Interprete'].'</Nombre>';
  41.         echo '</a></Resultado>';
  42. }
  43.  
  44.  
  45. //Muestro los comando si existe más de una pagina  
  46. if($Ultima != 0){
  47.    $Siguiente = $Pagina +1;
  48.    $Anterior = $Pagina -1;
  49. }
  50.  
  51. //Si es la primera se desabilita el boton
  52.  if ($Pagina == 1) {
  53.    
  54.     for($i= $Pagina +1 ; $i<= $Ultima ; $i++){
  55.     echo '<a href="Paginas.php?Pagina ='.$i.'">'.$i.'</a>';
  56.     }
  57. }
  58.  
  59. echo '<a onclick="Pagina(\'1\') ">1</a>';
  60.  
  61.  if($Pagina>1){
  62.       echo '<a onclick="Pagina("'.$Anterior.'") "><</a> ';
  63.  }
  64.  
  65.  if($Pagina<$Ultima){
  66.     echo '<a onclick="Pagina("'.$Siguiente.'")">></a>';
  67.  }
  68.  echo '<a onclick="Pagina("'.$Ultima.'")">'.$Ultima.'</a>';
  69.  ?>


Esto me devuelve


Código MySQL:
Ver original
  1. Warning: Division by zero in C:\AppServ\www\Ajax\Menu\Buscador\Paginas.php on line 33
  2.  
  3. Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\Ajax\Menu\Buscador\Paginas.php on line 36
  4. 10

Etiquetas: ajax, html, javascript
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:32.