Paginación de registros .php

Bueno, en esta parte pondré como paginar registros, totalmente configurable. Se puede poner el número de registros por página, y todo eso.




pagina.php
Código:
	<?php
include ("conexion.php");

######Configuración#######
                         #
$paginas = 7;            #
$tabla = "aquitutabla";  #
                         #
##########################

$actual = (!isset ($pg))?1:$pg;
$sql = mysql_query ("SELECT * FROM ".$tabla."");
$total = mysql_num_rows ($sql);
if ($actual == 1) {
$desde = "0";
}
elseif ($actual != 1) {
$desde = $actual * $paginas - $paginas;
}
$tp = ($total / $paginas);
if (strstr($tp,'.')){ 
$tp = explode (".",$tp);
$tp = ($tp[0]+1);
}
$resp = mysql_query ("SELECT * FROM ".$tabla." ORDER BY id LIMIT ".$desde.",".$paginas."");
while ($row = mysql_fetch_array ($resp)) {
//Aqui parte la parte de modificación
echo "Registro: ".$row["campo"]."<br>";
//Aqui termina xD
}
$pag = ($tp == 1) ? página : páginas;
$reg = ($total == 1) ? registro : registros;
?>
<br>Encontrados <b><?=$total?></b> <?=$reg?> en <b><?=$tp?></b> <?=$pag?><br>
<?php
$anterior = true;
$siguiente = true;
if (($actual == 1) AND ($actual == $tp)) {
$anterior = false;
$siguiente = false;
}
elseif ($actual == $tp) {
$anterior = true;
$siguiente = false;
}
elseif ($actual == 1) {
$anterior = false;
$siguiente = true;
}
if ($anterior) {
echo "<a href=\"pagina.php?pg=".($actual-1)."\">&lt; Página anterior</a> | ";
}
else {
echo "|";
}
for ($i = 1; $i <= $tp;$i++) {
if ($i == $actual) {
echo " <b>".$i."</b> | ";
}
else {
echo "<a href=\"pagina.php?pg=".$i."\"> ".$i."</a> |";
}
}
if ($siguiente) {
echo " <a href=\"pagina.php?pg=".($actual+1)."\"> Página siguiente &gt;</a>";
}
?>


Solo debes cambiar el nombre de la tabla, el número de consultas por página, y las cosas que quieres mostrar (dentro del while).

Espero que sirva,


Inicio