Foros del Web » Programando para Internet » Javascript »

Php y scroll infinito

Estas en el tema de Php y scroll infinito en el foro de Javascript en Foros del Web. Hola a todos, veran, estoy tratandod e hacer un scroll infinito con jqueyr y que haga consultas mysql con php. El problema es que no ...
  #1 (permalink)  
Antiguo 09/08/2011, 14:51
 
Fecha de Ingreso: diciembre-2008
Mensajes: 21
Antigüedad: 15 años, 4 meses
Puntos: 0
Php y scroll infinito

Hola a todos, veran, estoy tratandod e hacer un scroll infinito con jqueyr y que haga consultas mysql con php. El problema es que no me aparecen lsod emas productos. Aqui dejo los codigos:


PHP: Obtiene el id del ultimo LI (es enviado por javascript) y debe mostrar los productos que siguen:
Código PHP:
Ver original
  1. include("dbcon.php");
  2. $per_page = 2;
  3. $start = $_GET["pag"];
  4. //$cat = $_POST["cat"];
  5.  
  6. if(!isset($pag)){
  7.     $query = mysql_query("SELECT * FROM productos ORDER BY id LIMIT 0,$per_page");
  8.    
  9.     while($rows = mysql_fetch_array($query)){
  10.         echo "<a href='phpThumb.php?src=img/productos/".$rows['foto']."&w=6000&h=600'><li data-medidas='".$rows['medidas']."' data-categoria='".$rows['categoria']."' class='Product' id='".$rows['id']."'><img src='phpThumb.php?src=img/productos/".$rows['foto']."&w=170&h=182' /></li></a>";   
  11.     }
  12.  
  13. }else{
  14.     $query2 = mysql_query("SELECT * FROM productos ORDER BY id LIMIT $start,$per_page");
  15.     while($rows = mysql_fetch_array($query2)){
  16.         echo "<a href='phpThumb.php?src=img/productos/".$rows['foto']."&w=6000&h=600'><li data-medidas='".$rows['medidas']."' data-categoria='".$rows['categoria']."' class='Product' id='".$rows['id']."'><img src='phpThumb.php?src=img/productos/".$rows['foto']."&w=170&h=182' /></li></a>";   
  17.     }
  18.    
  19. }


JAVASCRIPT
Código Javascript:
Ver original
  1. Aqui carga la pagina php con algunos productos por defecto, al bajar la web esta envia el id del ultimo LI por get a la pagian en php y añade los resultados.
  2. $("#datosCargados").load("data.php")
  3. $(window).scroll(function () { 
  4.    
  5.    if ($(window).scrollTop() >= $(document).height() - $(window).height() - 10) {
  6.        var catActual    =   $("#catActual").val()
  7.        var ultimo       =   $("#datosCargados li:last").attr("id")
  8.       $.get("data.php", { pag: ultimo },
  9.        function(data) {
  10.          $("#datosCargados").append(data)
  11.        });
  12.        
  13.    }
  14. });

Hasta ahora no logro descubrir el problema, alguna idea???
  #2 (permalink)  
Antiguo 09/08/2011, 15:10
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Php y scroll infinito

Puede ser por esto:
Código PHP:
Ver original
  1. $start = $_GET["pag"];
  2. //$cat = $_POST["cat"];
  3.  
  4. if(!isset($pag)){

Pasas del get a $start pero luego preguntas por $pag? Creo que te has confundido ahí, no?
Lo suyo es que hicieras así:
Código PHP:
Ver original
  1. $pag = 0;
  2. if (isset($_GET['pag'])) {
  3.     $pag = $_GET['pag'];
  4. }

Luego te ahorras el if que tienes, la sentencia siempre es desde $start, sólo que la primera vez será 0.

Te doy un consejo para el futuro. Utilizas firebug? Es una extensión de firefox para programadores web. Si trabajas con javascript que ejecuta código PHP (seasé, AJAX) es lo mejor que puedes usar, porque ahí verás los errores, que no verías de forma normal.

Un saludo y espero que con eso se te solucione.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #3 (permalink)  
Antiguo 09/08/2011, 15:16
 
Fecha de Ingreso: diciembre-2008
Mensajes: 21
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Php y scroll infinito

Estoy usandolo, peor nada. Ya intente con loq ue me dijiste y tampoco. =/
  #4 (permalink)  
Antiguo 09/08/2011, 15:24
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Php y scroll infinito

Qué errores te da en el firebug? Visualiza todos, tanto PHP, como JS... A ver si vemos algo que falle.

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #5 (permalink)  
Antiguo 09/08/2011, 15:26
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Php y scroll infinito

Vale, creo que ya sé, tu página data.php está esperando que le pases el pag por get y en ningún momento se lo pasas, tienes que llamar con data.php?pag=numero_que_quieras

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #6 (permalink)  
Antiguo 09/08/2011, 15:26
 
Fecha de Ingreso: diciembre-2008
Mensajes: 21
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Php y scroll infinito

no da errores, muestra que envia el get correctamente, javascript envia correcto el ultimo id.

Creo que esta mal mi consulta porque todo esta bien, esta como reemplazando la consulta anterior, no busca apartir del id que e paso sino desde el primero
  #7 (permalink)  
Antiguo 09/08/2011, 15:27
 
Fecha de Ingreso: diciembre-2008
Mensajes: 21
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Php y scroll infinito

si envia el get, mira

Código Javascript:
Ver original
  1. $(window).scroll(function () { 
  2.    
  3.    if ($(window).scrollTop() >= $(document).height() - $(window).height() - 10) {
  4.        var catActual    =   $("#catActual").val()
  5.        var ultimo       =   $("#datosCargados li:last").attr("id")
  6.       $.get("data.php", { pag: ultimo },
  7.        function(data) {
  8.          $("#datosCargados").append(data)
  9.        });
  10.        
  11.    }
  12. });
  #8 (permalink)  
Antiguo 09/08/2011, 15:36
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Php y scroll infinito

Puedes poner la URL de la página data.php directamente en la dirección del navegador. Añadiendo, claro está el parámetro del get.

ruta/data.php&pag=2 (por ejemplo)

Te debería salir el código que tienes en el echo para el registro 3 y 4. Prueba a ver. Si esto funciona, es que es tema de JS (que no sé mucho), creo que sería mejor que preguntaras allí.

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #9 (permalink)  
Antiguo 10/08/2011, 12:28
 
Fecha de Ingreso: septiembre-2008
Mensajes: 148
Antigüedad: 15 años, 7 meses
Puntos: 10
Busqueda Respuesta: Php y scroll infinito

Código Javascript:
Ver original
  1. include("dbcon.php");
  2.     $per_page = 2;
  3.     $start = $_GET["pag"];
  4.     //$cat = $_POST["cat"];
  5.      
  6.     if(!isset($pag)){
  7.         $query = mysql_query("SELECT * FROM productos ORDER BY id LIMIT 0,$per_page");
  8.        
  9.         while($rows = mysql_fetch_array($query)){
  10.             echo "<a href='phpThumb.php?src=img/productos/".$rows['foto']."&w=6000&h=600'><li data-medidas='".$rows['medidas']."' data-categoria='".$rows['categoria']."' class='Product' id='".$rows['id']."'><img src='phpThumb.php?src=img/productos/".$rows['foto']."&w=170&h=182' /></li></a>";  
  11.         }
  12.      
  13.     }else{
  14.         $query2 = mysql_query("SELECT * FROM productos ORDER BY id LIMIT $start,$per_page");
  15.         while($rows = mysql_fetch_array($query2)){
  16.             echo "<a href='phpThumb.php?src=img/productos/".$rows['foto']."&w=6000&h=600'><li data-medidas='".$rows['medidas']."' data-categoria='".$rows['categoria']."' class='Product' id='".$rows['id']."'><img src='phpThumb.php?src=img/productos/".$rows['foto']."&w=170&h=182' /></li></a>";  
  17.         }
  18.        
  19.     }
Ahi lo que veo es que preguntas si la variable $pag fue seteada... pero en realidad tu quieres preguntar si el parametro get $pag viene con algo... y usas una variable $start para guardar el valor del parametro $pag.

1.- Tienes que preguntar si isset($_GET["pag"]) sino $start = $_GET["pag"]; te tiene que tirar un error en caso de que no envies el parametro get.
2.- Te has confundido al usar $pag... cuando en realidad lo que quieres usar es $_GET["pag"] o en su defecto $start.
3.- El codigo se puede reducir si haces:
Código Javascript:
Ver original
  1. $start=0;
  2. if(isset($_GET["pag"]))
  3. $start=$_GET["pag"];
y luego todo lo que pones en el if donde usas $start (y fuera del if que yo hice).
Eso deberia funcionar.
4.- Ademas usas dos query... $query y $query2 pero que en realidad deberian ser la misma variable... cuidado.
  #10 (permalink)  
Antiguo 10/08/2011, 14:17
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Php y scroll infinito

@LhaN hola? No has leído los mensajes anteriores, no? Todo eso ya se lo dije yo. Y el punto 4, no, no tienen que ser la misma variable, son dos variables diferentes, si sólo las usa en el fetch, no afecta para nada más.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #11 (permalink)  
Antiguo 11/08/2011, 05:49
 
Fecha de Ingreso: diciembre-2008
Mensajes: 21
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Php y scroll infinito

de todos modos sigue sin funcionar. =/
  #12 (permalink)  
Antiguo 05/03/2012, 13:55
Avatar de IMAC/  
Fecha de Ingreso: octubre-2005
Mensajes: 738
Antigüedad: 18 años, 6 meses
Puntos: 14
Respuesta: Php y scroll infinito

Parece que este fragmento de código ya no funciona en la última versión de Firefox:
Código Javascript:
Ver original
  1. if ($(window).scrollTop() >= $(document).height() - $(window).height() - 10) {

¿sabéis algo al respecto?
¿Cómo puedo hacerlo funcionar?

Etiquetas: infinito, jquery, php, scroll
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 19:45.