esto te puede ayudar
Código PHP:
<?
$link = mysql_connect("server","user","pass");
mysql_select_db("base");
$sql="SELECT * FROM tabladedatos";
$res=mysql_query($sql);
$numeroRegistros=mysql_num_rows($res);
///ordenaremos la tabladedatos por el id
if(!isset($orden))
{
$orden="id";
}
///tamaño de resultados por pagina
$tamPag=5;
///definimos pagina actual y sus limites
if(!isset($pagina))
{
$pagina=1;
$inicio=1;
$final=$tamPag;
}
//calculo del limite inferior
$limitInf=($pagina-1)*$tamPag;
//calculo del numero de paginas
$numPags= ceil($numeroRegistros/$tamPag);
if(!isset($pagina))
{
$pagina=1;
$inicio=1;
$final=$tamPag;
}else{
$seccionActual=intval(($pagina-1)/$tamPag);
$inicio=($seccionActual*$tamPag)+1;
if($pagina<$numPags)
{
$final=$numPags;
}else{
$final=$numPags;
}
}
///fin de los calculos
?>
luego debemos mostrar los resultados con un "While" dentro de la condicion que queremos darle.....en este caso que no sea fin de archivo y que esten ordenados de forma ascendente.
<?
$sql="SELECT * FROM tabladedatos ORDER BY ".$orden.",id ASC
LIMIT ".$limitInf.",".$tamPag;
$res=mysql_query($sql);
while($registro=mysql_fetch_array($res))
{
acá muestras los datos de la tabla
echo $registro["id"];
echo $registro["nombre"];
echo $registro["email"];
}
?>
luego dedemos mostrar los resultados de los calculos para la paginacion.
<?
if($pagina>1)
{
echo "<a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=". $pagina-1)."&orden=".$orden."'>";
echo "<font face='verdana' size='-2'>Anterior</font>";
echo "</a> ";
}
for($i=$inicio;$i<=$final;$i++)
{
if($i==$pagina)
{
echo "<font face='verdana' size='- 2'><b>".$i."</b> </font>";
}else{
echo "<a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".$i."&orden=".$orden."'>";
echo "<font face='verdana' size='-2'>".$i."</font></a> ";
}
}
if($pagina<$numPags)
{
echo " <a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".($pagina+1)."&orden=".$orden."'>";
echo "<font face='verdana' size='-2'>Siguiente</font></a>";
}
?>