Te paso uno muy sencillito que he implementado a mi web buscando por alli y por alla. Me pagina resultados cada 24 lineas abre una pagina nueva.
Espero te sirva.
Código PHP:
<?
include_once"db-cnx.php";
$num_fotos = 24;
$pagina=$_GET['pagina'];
if (!$pagina) {
$inicio = 0;
$pagina=1;
}
else {
$inicio = ($pagina - 1) * $num_fotos;
}
?>
<body bgcolor="#FFE821">
<center>
<font color="steelblue"><b>FOTOS DE ACTOS,CAMPEONATOS Y EQUIPOS</b></FONT>
</center>
<HR size="5" COLOR="NAVY">
<?
$sqlevento = mysql_query("SELECT * FROM eventos", $db_link) or die(mysql_error);
$total_fotos = mysql_num_rows($sqlevento);
$total_paginas = ceil($total_fotos / $num_fotos);
$sqlevento = mysql_query("SELECT tituloevento, fotos FROM eventos ORDER BY ideventos DESC LIMIT ".$inicio.",".$num_fotos."", $db_link) or die(mysql_error);
while($row = mysql_fetch_row($sqlevento)){
$columns = 6;
echo"<center>";
echo"<table>";
echo"<caption><font color='steelblue'><b>$row[0]</b></font></caption>";
echo"<tr align='center'><td><a href='imagesr2011/$row[1]'><img src='imagesr2011/$row[1]' width='110' height='110'>";
echo"<td colspan='4' height='110' bgcolor='#FFE821'><img src='imagesr2011/logoclubcolor.jpg' width='440' height='110'>";
for($i = 1; $i<6; $i++) {
$row = mysql_fetch_row($sqlevento);
if($i % $columns == 1) {
echo "<tr align='center'>";
}
echo "<td width='' height=''><a href='imagesr2011/$row[1]'>";
echo "<img src='imagesr2011/$row[1]' width='110' height='110'";
echo " border=0>";
echo "";
echo "</td>";
if(($i % $columns) == 0) {
echo "</tr>";
}
}
echo "</table>";
echo"<HR size='5' COLOR='NAVY'>";
echo"</center>";
}
echo"<center>";
if ($total_paginas > 1){
for ($u=1;$u<=$total_paginas;$u++){
if ($pagina == $u)
//si muestro el índice de la página actual, no coloco enlace
echo $pagina . "|";
else{
//si el índice no corresponde con la página mostrada actualmente, coloco el enlace para ir a esa página
echo "<a href='".$_SERVER['PHP_SELF']."?pagina=".$u."'>".$u."|</a> ";
}
}
}
echo"</center>";
mysql_close();
?>
</body>