Hola!
Al fin, conseguí poder paginar los resultados con AJAX! Pero ahora tengo un problema, hay varios enlaces (Primera, Anterior, Siguiente, Última) para navegar entre las páginas de comentarios.
Cuando le doy a cualquier enlace, todo funciona bien pero... sólo puedo hacer click una vez en un enlace! Si intento clickear en otro no pasa nada :S
A ver si alguien me puede ayudar!
Tengo estos códigos:
ajax.js
paginador.phpCódigo:function objetoAjax(){ var xmlhttp=false; try{ xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }catch(E){ xmlhttp = false; } } if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp = new XMLHttpRequest(); } return xmlhttp; } function Pagina(nropagina){ //donde se mostrará los registros divContenido = document.getElementById('commentlist'); var id=encodeURIComponent(document.getElementById("idnovedad").value) ajax=objetoAjax(); //uso del medoto GET //indicamos el archivo que realizará el proceso de paginar //junto con un valor que representa el nro de pagina ajax.open("GET", "paginador.php?id="+id+"&pag="+nropagina); divContenido.innerHTML= 'Cargando...'; ajax.onreadystatechange=function() { if (ajax.readyState==4) { //mostrar resultados en esta capa divContenido.innerHTML = ajax.responseText } } //como hacemos uso del metodo GET //colocamos null ya que enviamos //el valor por la url ?pag=nropagina ajax.send(null) }
Gracias, un saludo!Código:<?php $id = strip_tags($_GET[id]); $pag = strip_tags($_GET[pag]); require('conexion.php'); $RegistrosAMostrar=10; //estos valores los recibo por GET if(isset($_GET['pag'])){ $RegistrosAEmpezar=($pag-1)*$RegistrosAMostrar; $PagAct=strip_tags($pag); //caso contrario los iniciamos }else{ $RegistrosAEmpezar=0; $PagAct=1; } $Resultado=mysql_query("SELECT * FROM comentarios WHERE id = $id ORDER BY fecha,hora ASC LIMIT $RegistrosAEmpezar, $RegistrosAMostrar",$con); while($qry=mysql_fetch_array($Resultado)){ $fecha=isset($_GET['fecha'])?$_GET['fecha']:date("Y-m-d"); list($ano,$mes,$dia)=explode("-",$qry[fecha]); $meses=array('Ene','Feb','Mar','Abr','May','Jun','Jul','Ago','Sep','Oct','Nov','Dic'); $mes=$meses[$mes-1]; $idcomentario = strip_tags($qry[idcomentario]); $nick = strip_tags($qry[nick]); $comentario = expresiones(strip_tags($qry[comentario])); $hora = strip_tags($qry[hora]); $edicion = strip_tags($qry[edicion]); $horaedicion = strip_tags($qry[horaedicion]); $tipo = strip_tags($qry[tipo]); $fecha=isset($_GET['edicion'])?$_GET['edicion']:date("Y-m-d"); list($ano2,$mes2,$dia2)=explode("-",$qry[edicion]); $meses=array('1','2','3','4','5','6','7','8','9','10','11','12'); $mes2=$meses[$mes2-1]; if($tipo == "normal"){ echo "<li class='comment even thread-even depth-1' id='li-comment-$idcomentario'> <div id='comment-$idcomentario'> <div class='author vcard'> <div class='date'><span class='day'>$dia</span> <span class='month'>$mes</span> <span class='year'>$ano</span></div> <img alt='' src='http://www.minics.com/avatars/$nick-XS.jpg' class='avatar avatar-45 photo' height='45' width='45'><img src='http://www.minics.com/img/saysomething.gif' class='saysomething' alt='arrow' height='45'> <cite class='authName fn'>$nick</cite> </div><!-- .comment-author .vcard --> <div class='comment-body'> <p>$comentario</p> <div class='comment-meta'> Publicado a las $hora"; }else{ echo "<li class='comment even thread-even depth-1' id='li-comment-$idcomentario'> <div id='comment-$idcomentario'> <div class='author2'> <div class='date'><span class='day'>$dia</span> <span class='month2'>$mes</span> <span class='year2'>$ano</span></div> <img alt='' src='http://www.minics.com/avatars/$nick-XS.jpg' class='avatar avatar-45 photo' height='45' width='45'><img src='http://www.minics.com/img/saysomething.gif' class='saysomething' alt='arrow' height='45'> <cite class='authName2 fn'>$nick</cite> </div><!-- .comment-author .vcard --> <div class='comment-body2'> <p>$comentario</p> <div class='comment-meta'> Publicado a las $hora"; } if($edicion != "") { echo " | <small><u>Última edición:</u> $dia2/$mes2/$ano2 a las $horaedicion</small>"; } else { echo " </div><!-- .comment-meta .commentmetadata --> </div> <!--div class='reply'> </div--><!-- .reply --> </div><!-- #comment-## --> </li>"; } } //******--------determinar las páginas---------******// $NroRegistros=mysql_num_rows(mysql_query("SELECT * FROM comentarios WHERE id = $id",$con)); $PagAnt=$PagAct-1; $PagSig=$PagAct+1; $PagUlt=$NroRegistros/$RegistrosAMostrar; //verificamos residuo para ver si llevará decimales $Res=$NroRegistros%$RegistrosAMostrar; // si hay residuo usamos funcion floor para que me // devuelva la parte entera, SIN REDONDEAR, y le sumamos // una unidad para obtener la ultima pagina if($Res>0) $PagUlt=floor($PagUlt)+1; // Mostramos para cambiar de página de comentarios echo "<h3 class='comments-title'>"; echo "<a onclick=\"Pagina('1')\">« Primera</a> "; if($PagAct>1) echo "<a onclick=\"Pagina('$PagAnt')\">Anterior</a> "; echo "<strong>Pagina ".$PagAct."/".$PagUlt."</strong>"; if($PagAct<$PagUlt) echo " <a onclick=\"Pagina('$PagSig')\">Siguiente</a> "; echo "<a onclick=\"Pagina('$PagUlt')\">Última »</a>"; echo "</h3>"; ?>



Citar


Marcadores