<html> 
<body> 
<?php 
$link = mysql_connect("localhost", "nobody"); 
mysql_select_db("mydb", $link); 
if (!isset($pag)) $pag = 1; // Por defecto, pagina 1
$tampag = 10;
$reg1 = ($pag-1) * $tampag;
$result = mysql_query("SELECT nombre, apellidos FROM clientes", $link); 
$total = mysql_num_rows($result);
if (mysql_num_rows($result)){ 
  echo "<table border = '1'> \n"; 
  echo "<tr><td>Nombre</td><td>Apellidos</td></tr> \n";
  for ($i=$reg1; $i<min($reg1+$tampag, $total); $i++) {
    mysql_data_seek($result, $i);
    $row = mysql_fetch_array($result);
    echo "<tr><td>".$row["nombre"].
      "</td><td>".$row["email"]."</td></tr> \n"; 
  }
  echo "</table> \n"; 
}
else
  echo " No se ha encontrado ningn registro !";
?>




/******************************************************/
/* Funcion paginar
 * actual:          Pagina actual
 * total:           Total de registros
 * por_pagina:      Registros por pagina
 * enlace:          Texto del enlace
 * maxpags:         El mximo de pginas a presentar simultneamente (opcional)
 * Devuelve un texto que representa la paginacion
 */
function paginar($actual, $total, $por_pagina, $enlace, $maxpags=0) {
  $total_paginas = ceil($total/$por_pagina);
  $anterior = $actual - 1;
  $posterior = $actual + 1;
  $minimo = $maxpags ? max(1, $actual-ceil($maxpags/2)): 1;
  $maximo = $maxpags ? min($total_paginas, $actual+floor($maxpags/2)): $total_paginas;
  if ($actual>1)
    $texto = "<a href=\"$enlace$anterior\">&laquo;</a> ";
  else
    $texto = "<b>&laquo;</b> ";
  if ($minimo!=1) $texto.= "... ";
  for ($i=$minimo; $i<$actual; $i++)
    $texto .= "<a href=\"$enlace$i\">$i</a> ";
  $texto .= "<b>$actual</b> ";
  for ($i=$actual+1; $i<=$maximo; $i++)
    $texto .= "<a href=\"$enlace$i\">$i</a> ";
  if ($maximo!=$total_paginas) $texto.= "... ";
  if ($actual<$total_paginas)
    $texto .= "<a href=\"$enlace$posterior\">&raquo;</a>";
  else
    $texto .= "<b>&raquo;</b>";
  return $texto;
}
