Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/11/2007, 10:17
Cayman
 
Fecha de Ingreso: noviembre-2007
Mensajes: 3
Antigüedad: 16 años, 6 meses
Puntos: 0
paginador php

hola pues estoy haciendo un paginador en php y mysql. Es basicamente acceder a una BD y sacar resultados de 10 en 10 mostrados en una tabla.
Muestra los 10 primeros pero luego al darle a siguiente o cambiar a las paginas que salen no avanza, siempre se queda en la misma.

A ver si alguien puede ayudarme, gracias.

Código:
<html> 
<head> 
<title>Páginación de resultados</title> 
</head> 
<body> 
<? 
// Datos de conexión a la base 
$base="empresa"; 
$con=mysql_connect("localhost","root","castelar"); 
mysql_select_db($base,$con); 
 
if (!isset($pg)) 
$pg = 0; // $pg es la pagina actual 
 
$cantidad=10; // cantidad de resultados por página 
$inicial = $pg * $cantidad; 
 
$pegar = "SELECT cod, concat_ws(', ',apellidos,nombre) as 'nombre completo',fecha_alta, sueldo FROM empleados LIMIT $inicial,$cantidad"; 
$cad = mysql_db_query($base,$pegar) or die (mysql_error()); 
 
$contar = "SELECT * FROM empleados"; 
$contarok= mysql_db_query($base,$contar); 
$total_records = mysql_num_rows($contarok); 
$pages = intval($total_records / $cantidad);

echo "<table align='center' bgcolor= '#EBF2FE' cellpadding=15 cellspacing=4 border=1> 
 
    <tr> 
        <td><b>Codigo</b></td>
        <td><b>Nombre Completo</b></td> 
        <td><b>Fecha alta</b></td>                
        <td><b>Sueldo</b></td> 
    </tr>"; 
 
// Imprimiendo los resultados 
while($row = mysql_fetch_array($cad)) { 

    echo "<tr>";

        echo "<td>" .$row['cod']."<br>"; 
        echo "<td>" .$row['nombre completo']."<br>";
        echo "<td>" .$row['fecha_alta']."<br>";
        echo "<td>" .$row['sueldo']."<br>"; 
    echo "</tr>";
 
}     
echo "</table>";    
 
 
 
// Cerramos la conexión a la base 
$con=mysql_close($con); 
 
// Creando los enlaces de paginación 
echo "<div align='center'>"; 
if ($pg != 0) { 
    
    $url = $pg - 1; 
    echo "<a href='$PHP_SELF?pg=".$url."'>&laquo; Anterior</a>&nbsp;"; 
} 

else { 
    echo " "; 
}
 
for ($i = 0; $i <= $pages; $i++) { 
        if ($i == $pg) { 
            
            if ($i == "0") { 
                echo "<b> 1 </b>"; 
            } 
            
            else { 
                $j = $i+1; 
                echo "<b> ".$j." </b>"; 
            } 
        } 
        
        else { 
            if ($i == "0") { 
                echo "<a href=$PHP_SELF?pg=".$i.">1</a> "; 
            } 

            else { 
                $j = $i+1; 
                echo "<a href='$PHP_SELF?pg=".$i."'>"; 
                echo $j."</a>&nbsp;"; 
            } 
        } 
}
 
if ($pg < $pages) { 
        $url = $pg + 1; 
        echo "<a href='$PHP_SELF?pg=".$url."'>Siguiente &raquo;</a>"; 
    } 

    else { 
        echo " "; 
    } 
    
    echo "</div>"; 
?> 
</body> 
</html>