hola mis compañeros, me ha surgido este problema, lo que pasa es ke necesito hacer la paginacion de unos registros de la base de datos,el script me medio funciona, porke me sale el numero ke le digo ke me muestre por resultados. Pero al darle click al link de paginacion para avanzar a los siguientes resultados, me siguen apareciendo los mismos de la primera pagina, el link si avanza porke en la barra de direccion de mi explorador veo el numero de pagina en el ke me encuentro; este es el codigo para ver ke es lo puede esta mal
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=");
?>