Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/06/2011, 15:20
Eneakao
 
Fecha de Ingreso: noviembre-2010
Mensajes: 40
Antigüedad: 14 años, 1 mes
Puntos: 0
Problema con Infinite Scrolling

Hola, tengo un problema con una aplicación que estoy haciendo. La aplicación en si es bastante sencilla. Es un listado de registros de una base de datos MySql que muestro y pagino con PHP y AJAX.

Ni que decir tiene que de AJAX estoy bastante verde.

Existen dos archivos.

1º Index.php (Donde cargo la primera consulta y el trozo de código AJAX)

Código HTML:
<script type="text/javascript">
	$(document).ready(function(){
		$("#loadmorebutton").click(function (){
		    	$('#loadmorebutton').html('<img src="ajax-loader.gif" />');
				$.ajax({
					url: "loadmore.php?lastid=" + $(".postitem:last").attr("id"),
					success: function(html){
						if(html){
							$("#postswrapper").append(html);
							$('#loadmorebutton').html('Load More');
						}else{
							$('#loadmorebutton').replaceWith('<center>No hay más comentarios.</center>');
						}
					}
				});
		    });
		});	
</script> 
Código PHP:
$query 'SELECT * FROM comentarios ORDER BY idcom DESC LIMIT 0, 25';
$result mysql_query($query);                    
                    
while(
$rec mysql_fetch_object($result)) {
    echo 
'<div class="postitem" id="'.$rec->idcom.'"></div>';
    
echo 
$rec->idcom;

2º Leermas.php (Donde recibo el valor del último registro que se ha mostrado por AJAX y hago otra consulta para pagina el resto de resultados)

Código PHP:
$query "SELECT * FROM comentarios WHERE idcom < ".$_GET['lastid']." ORDER BY idcom DESC LIMIT 0, 10";
$result mysql_query($query);


while(
$rec mysql_fetch_object($result)) {
    echo 
"<div class='idreal' id=".$rec->idcom."></div>";
    echo 
$rec->idcom;

La primera consulta, la del archivo index.php la hace perfectamente y muestra los 25 registros. Despues me aparece todo el tema del páginado correctamente, etc. Pero cuando pulso para que haga la consulta desde el 2º archivo con los datos enviados por AJAX vuelve a cargarme los 10 mismos registros dos veces.

Creo que el error puede estar en que $_GET['lastid'] siempre tiene el mismo valor cuando lo envío desde AJAX. Pero llevo modificando un buen rato y no consigo nada.

Por favor espero que me ayuden. Gracias antes de nada!