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>