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."'>« Anterior</a> ";
}
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> ";
}
}
}
if ($pg < $pages) {
$url = $pg + 1;
echo "<a href='$PHP_SELF?pg=".$url."'>Siguiente »</a>";
}
else {
echo " ";
}
echo "</div>";
?>
</body>
</html>