Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/06/2008, 05:58
Flinki
 
Fecha de Ingreso: marzo-2008
Mensajes: 48
Antigüedad: 16 años, 1 mes
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.