Paginador con php mysql y ajax

Que tal tengo el siguiente código de un paginador y listador de noticias, que no le puedo complementar con un leer más, está hecho con php, mysql y ajax, a ver si me puedes dar una mano gracias
<?php
require('dbconexion.php');
$RegistrosAMostrar=3;
//estos valores los recibo por GET
if(isset($_GET['pag'])){
$RegistrosAEmpezar=($_GET['pag']-1)*$RegistrosAMostrar;
$PagAct=$_GET['pag'];
//caso contrario los iniciamos
}else{
$RegistrosAEmpezar=0;
$PagAct=1;
}
$Resultado=mysql_query("SELECT * FROM noticias ORDER BY id_noticia LIMIT $RegistrosAEmpezar, $RegistrosAMostrar",$con);
echo "
<table border='0px'>
";
while($MostrarFila=mysql_fetch_array($Resultado)){
echo "
<tr>
";
echo "
<td>".$MostrarFila['titulo']."</td>
";
echo "
<td>".$MostrarFila['noticia_corta']."</td>
";
echo "
<td>".$MostrarFila['fecha']."</td>
";
echo "
</tr>
";
}
echo "
</table>
";
$NroRegistros=mysql_num_rows(mysql_query("SELECT * FROM noticias",$con));
$PagAnt=$PagAct-1;
$PagSig=$PagAct+1;
$PagUlt=$NroRegistros/$RegistrosAMostrar;
$Res=$NroRegistros%$RegistrosAMostrar;
if($Res>0) $PagUlt=floor($PagUlt)+1;
echo "<a onclick=\"Pagina('1')\">Primero</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')\">Ultimo</a>";
?>

1 respuesta

Respuesta
-1
Tu pregunta no es muy clara, ¿qué es lo que necesitas exactamente?
Hola que tal tengo que hacer un paginador para mi sistema de noticias, ya termine con todo, hice el panel de control para manejar los usuarios y para manejar imágenes de un directorio del sistema de noticias, crear editar y borrar las noticias todo con WYSIWYG.
Todo esto está realizado en php ajax y mysql, lo que quiero lograr es iplementar un paginador para el resultado de las noticias, esto si, ya tengo mi index como quiero que se vea, o sea la consulta ya la tengo y se ve bien, ahora quiero ordenarlas por fecha y mostrarlas 3 por página, con lo cual viene mi problema quiero integrar php ajax y mysql a este paginador, y me está dando muchos dolores de cabeza.
Necesito de ti, que me ayudes a mezclar algunos códigos y sacar adelante este ultimo problema que me surgió, desde ya te lo estaré agradecido por siempre.
Tengo aquí el código del paginador pero no me está funcionando.
ajax.js
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('contenido');
 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?pag="+nropagina);
 divContenido.innerHTML= '<img src="anim.gif">';
 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)
}
y aqui el del paginador
paginador.php
<?php
require('conexiones/dbconexion.php');
$RegistrosAMostrar=1;
//estos valores los recibo por GET
if(isset($_GET['pag'])){
$RegistrosAEmpezar=($_GET['pag']-1)*$RegistrosAMostrar;
$PagAct=$_GET['pag'];
//caso contrario los iniciamos
}else{
$RegistrosAEmpezar=0;
$PagAct=1;
}
$Resultado=mysql_query("SELECT * FROM noticias ORDER BY fecha DESC LIMIT $RegistrosAEmpezar, $RegistrosAMostrar",$con);
echo "
<table border='1px'>
";
while($MostrarFila=mysql_fetch_array($Resultado)){
echo '
<h2> <a href="leermas.php?id_noticia='.$MostrarFila['id_noticia'].'">'.$MostrarFila['titulo'].'</a> </h2>
'.$MostrarFila['fecha'].' 
          <br>'.$MostrarFila['noticia_corta'].'
          <a href="leermas.php?id_noticia='.$MostrarFila['id_noticia'].'">Leer mas...</a> <br><br><br>';
}
echo "
</table>
";
//******--------determinar las páginas---------******//
$NroRegistros=mysql_num_rows(mysql_query("SELECT * FROM noticias",$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;
//desplazamiento
echo "<a onclick=\"Pagina('1')\">Primero</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')\">Ultimo</a>";
?>
Hay algo mal seguro por que no pasa de página en página, solamente aparece el paginador pero no hace nada me muestra una sola noticia.
Desde ya voy a estar eternamente agradecido por tu ayuda
Te sugiero que te documentes más sobre el funcionamiento de esa aplicación, si la has obtenido de algún sitio, buscar un tutorial o ayuda, en caso contrario, en internet existe cantidad de código gratuito con aplicaciones como las que tu necesitas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas