Código PHP:
<?
//conecto con la base de datos
$conn = mysql_connect("localhost","root","");
//seleccionamos la base de datos
mysql_select_db("basededatos",$conn);
if (!isset($_GET['id'])) {
$pag = 1; // Por defecto, pagina 1
} else {
$pag = $_GET['id']; // Página actual
}
// Obtiene todos los registros de la tabla
$resultid = mysql_query("SELECT COUNT(*) FROM noticias", $conn);
list($total) = mysql_fetch_row($resultid);
// Número de registros por página
$tampag = 5;
// Calcula el rango de los registros
$reg1 = ($pag-1) * $tampag;
// Obtiene los registros en el rango correspondiente
$resultid = mysql_query("SELECT titulo, mensaje, FROM noticias LIMIT $reg1, $tampag", $conn);
// Imprime todos los registros de la página
if (mysql_num_rows($resultid)){
echo "<table border = '1'>";
echo "<tr><td>titulo</td><td>mensaje</td></tr>";
while ($row = @mysql_fetch_array($resultid)) {
echo "<tr><td>".$row["titulo"].
"</td><td>".$row["mensaje"]."</td></tr>";
}
echo "</table>";
}
else
echo "¡No se encontró ningún registro!";
/* Función para paginación
* $actual - página actual
* $total - total de registros
* $reg_pagina - registros por página
* $link - enlace para la siguiente página
* Devuelve la cadena HTML de paginación
*/
function paginar($actual, $total, $reg_pagina, $link) {
$total_paginas = ceil($total/$reg_pagina);
$anterior = $actual - 1;
$posterior = $actual + 1;
if ($actual>1)
$texto = "<a href='$link$anterior'>«</a> ";
else
$texto = "<b>«</b> ";
for ($i=1; $i<$actual; $i++)
$texto .= "<a href='$link$i'>$i</a> ";
$texto .= "<b>$actual</b> ";
for ($i=$actual+1; $i<=$total_paginas; $i++)
$texto .= "<a href='$link$i'>$i</a> ";
if ($actual<$total_paginas)
$texto .= "<a href='$link$posterior'>»</a>";
else
$texto .= "<b>»</b>";
return $texto;
}
// Pinta la cadena HTML de paginación
echo paginar($pag, $total, $tampag, "muestranoticia.php?pag=");
?>