Foros del Web » Programando para Internet » PHP »

Problema con un Paginador

Estas en el tema de Problema con un Paginador en el foro de PHP en Foros del Web. Buenas a todos, estoy con un paginador para mi web que muestre los contenidos de una base de datos mysql. Estuve buscando por ahí manuales ...
  #1 (permalink)  
Antiguo 12/06/2008, 05:58
 
Fecha de Ingreso: marzo-2008
Mensajes: 48
Antigüedad: 16 años
Puntos: 1
Problema con un Paginador

Buenas a todos,

estoy con un paginador para mi web que muestre los contenidos de una base de datos mysql. Estuve buscando por ahí manuales y tal y encontré el siguiente paginador:

Código PHP:
<?php
 
require('conexion.php');
 
$RegistrosAMostrar=2;

 
//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 [COLOR="Red"]$row[3[/COLOR]] ORDER BY nombre LIMIT $RegistrosAEmpezar, $RegistrosAMostrar",$conn);
 echo 
"<table border='1px' width=600px>";
 while(
$MostrarFila=mysql_fetch_array($Resultado)){
  echo 
"<tr>
        <td width=20px><img src=Imagenes/mas.png></td><td align=center width=80px><font size=1>"
;echo utf8_encode($MostrarFila[1]);echo"</font></td>
    <td align=center width=120px><font size=1>"
;
    echo 
utf8_encode($MostrarFila[2]); echo"</font></td>
    <td align=center width=50px><font size=1>"
;echo utf8_encode($MostrarFila[3]); echo "</font></td><td align=center width=150px><font size=1>";
    echo 
utf8_encode($MostrarFila[4]); echo"</font></td>
    <td align=center width=100px><font size=1>"
; echo utf8_encode($MostrarFila[5]);echo"</font></td><td width=20px><img src=Imagenes/editar.png></td>
    <td width=20px><img src=Imagenes/eliminar.png></td></tr>"
;
 }
 echo 
"</table>";

 
//******--------determinar las páginas---------******//
 
$NroRegistros=mysql_num_rows(mysql_query("SELECT * FROM [COLOR="Red"]$row[3[/COLOR]]"$conn));
 
$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 "<table align=center>";
 echo 
"<tr><td><a onclick=\"Pagina('1')\"><font size=1 color=c80d39>Primero</font></a></td>";
 if(
$PagAct>1) echo "<td><a onclick=\"Pagina('$PagAnt')\"><font size=1 color=c80d39> << Anterior</font></a></td>";
 echo 
"<td><font size=1 color=5f0a7e align=center><strong>".$PagAct."/".$PagUlt."</strong></font></td>";
 if(
$PagAct<$PagUlt)  echo "<td><a onclick=\"Pagina('$PagSig')\"><font size=1 color=c80d39>Siguiente >></font></a></td>";
 echo 
"<td><a onclick=\"Pagina('$PagUlt')\"><font size=1 color=c80d39>  Último</font></a></td></tr></table>";

?>
El problema está en que la primera vez que accedo al paginador me muestra los resultados de la tabla mysql perfectamente sin embargo al darle al botón de siguiente o anterior (para que me muestre la siguiente página) me dice lo siguiente:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/paginador.php on line 17

El problema está en los $row[3] marcados en rojo. Su función es seleccionar la base de datos de la que queremos extraer los datos. No puedo poner el nombre de ésta directamente pues va a depender de cada usuario que se loguee. No se si me expliqué bien, es que es un poco dificil de explicar.
El caso esque no se como mantener ese row[3] durante todo el tiempo.
Si alguien puede ayudarme se lo agradecería.
Muchas Gracias.
  #2 (permalink)  
Antiguo 12/06/2008, 06:23
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Problema con un Paginador

Hola

busca en google PAGINATOR de jpinedo, es una clase para paginar, que va de maravilla

pruebala, viene explicada y documentada.

un saludo
  #3 (permalink)  
Antiguo 12/06/2008, 07:15
Avatar de KarQ  
Fecha de Ingreso: septiembre-2005
Mensajes: 88
Antigüedad: 18 años, 7 meses
Puntos: 1
Respuesta: Problema con un Paginador

Hace bastante tiempo hice yo una sencilla función para paginar y hasta hoy me ha estado yendo de maravilla, la tengo que revisar, todo sea dicho porque podria mejorar algunas cosillas pero supongo que para lo que quieres te servirá.

Viene todo explicado aquí: http://www.hackingkorpse.com/index.php?id=34

Mucha suerte.
__________________
KarQ - xC
mi weblog en: http://www.monochromatic.es
  #4 (permalink)  
Antiguo 12/06/2008, 08:01
 
Fecha de Ingreso: marzo-2008
Mensajes: 48
Antigüedad: 16 años
Puntos: 1
Respuesta: Problema con un Paginador

Muchas gracias por las respuesta,

probé el script que me mandó jaronu. Funciona perfecto pero hay un problemilla. En la pagina donde lo tengo puesto es una pagina que requiere una autentificación con un nombre de usuario y contraseña. Entonces al darle al botón siguiente o anterior o al que sea, se me sale del area reservada mostrando el mensage de que el nombre de usuario y la contraseña son incorrectas. Alguna idea???
Gracias de antemano
  #5 (permalink)  
Antiguo 12/06/2008, 08:06
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Problema con un Paginador

usas sesiones, para despues de la autentificacion, seguir al usuario?
  #6 (permalink)  
Antiguo 12/06/2008, 08:10
 
Fecha de Ingreso: marzo-2008
Mensajes: 48
Antigüedad: 16 años
Puntos: 1
Respuesta: Problema con un Paginador

No, la verdad sq oí hablar de eso de las sesiones pero no me puse con ello, jeje supongo que debe de ser necesario verdad? que torpe. Voy a ver si usando eso funciona. Un saludo
  #7 (permalink)  
Antiguo 12/06/2008, 09:13
Avatar de KarQ  
Fecha de Ingreso: septiembre-2005
Mensajes: 88
Antigüedad: 18 años, 7 meses
Puntos: 1
Respuesta: Problema con un Paginador

Mira, las sesiones son tan sencillas como invocar la función session_start(); al principio del documento, una vez haces esto tendras acceso al array $_SESSION y todo lo que guardes en él volverá a aparecer página tras página (siempre que inicies la sesion con session_start() correctamente). Este array dura hasta que la sesión caduque o cierres tu navegador o la cierres manualmente con session_destroy()

Así de fácil
__________________
KarQ - xC
mi weblog en: http://www.monochromatic.es
  #8 (permalink)  
Antiguo 12/06/2008, 13:01
 
Fecha de Ingreso: marzo-2008
Mensajes: 48
Antigüedad: 16 años
Puntos: 1
Respuesta: Problema con un Paginador

pues muchas gracias. Leeré algún manual y las dudas que tenga pues la voy preguntando en otro hilo. Un saludo
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 08:46.