hola, creo que estas ordenando mal los bloques de código... yo lo trataria de ordenar así:
1°:
Código PHP:
<? $database = pg_connect ("dbname=xxx user=xxx");
if (!$database)
{
echo "Falla en la Conexion con la base de datos";
exit;
}
/*
este bloque de codigo es el que causa que se muestre siempre lo mismo en todas las paginas
$result = pg_query ($database, "SELECT fecha_hora, nombre, comentario FROM mensajes ORDER BY fecha_hora DESC ");
*/
//
{
?>
yo lo plantearía así:
Código PHP:
<?php
if (!isset($pag)) $pag = 1; // Por defecto, pagina 1
$result = mysql_query("SELECT COUNT(*) FROM mensajes", $link);
list($total) = mysql_fetch_row($result);
$tampag = 15;
$reg1 = ($pag-1) * $tampag;
$result = mysql_query("SELECT fecha_hora, nombre, comentario FROM mensajes LIMIT $reg1, $tampag", $link);
if ($row = mysql_fetch_array($result)){
do {
echo '</p><table width="69%" border="0" bgcolor="#666666">
<tr><td height="63" valign="top" bgcolor="#9cb4d6"><font size="2" face="Arial, Helvetica, sans-serif"><strong>
<font color="#FFFFFF"><font size="2" face="Arial, Helvetica, sans-serif"><strong><font color="#9cb4d6">...</font>
</strong></font>'.$row[fecha_hora].'</font></strong></font>
<font color="#9cb4d6" size="5" face="Arial, Helvetica, sans-serif">..
</font><font color="#FFFFFF" size="5" face="Arial, Helvetica, sans-serif" fac?????????????????e="Arial, Helvetica,
sans-serif">I</font><font color="#FFFFFF" size="5" fac?????????????????e="Arial, Helvetica, sans-serif">
<font color="#9cb4d6">..</font></font><font color="#FFFFFF"><strong><font size="2" face="Arial, Helvetica, sans-serif">
'.$row[nombre].'</font></strong><font color="#9cb4d6" size="5" face="Arial, Helvetica, sans-serif">..</font>
<font color="#FFFFFF" size="5" face="Arial, Helvetica, sans-serif">I</font>
<font size="2" face="Arial, Helvetica, sans-serif"><strong><font color="#9cb4d6"><br>
...</font>'.$row[comentario].'</strong></font></font> </td>
</tr>
</table>
<p></p> </p>';
} while ($row = mysql_fetch_array($result));
$actual = $pag;
$por_pagina = $tampag;
$enlace = "pagina ";
function paginar($actual, $total, $por_pagina, $enlace) {
$total_paginas = ceil($total/$por_pagina);
$anterior = $actual - 1;
$posterior = $actual + 1;
if ($actual>1)
$texto = "<a href=\"$enlace$anterior\" class='linknormal'>«</a> ";
else
$texto = "<b>«</b> ";
for ($i=1; $i<$actual; $i++)
$texto .= "<a href=\"$enlace$i\" class='linknormal'>$i</a> ";
$texto .= "<b>$actual</b> ";
for ($i=$actual+1; $i<=$total_paginas; $i++)
$texto .= "<a href=\"$enlace$i\" class='linknormal'>$i</a> ";
if ($actual<$total_paginas)
$texto .= "<a href=\"$enlace$posterior\" class='linknormal'>»</a>";
else
$texto .= "<b>»</b>";
return $texto;
}
//mi archivo.php es la pagina donde esta el codigo
$re = paginar($pag, $total, $tampag, "miarchivo.php?pag=");
echo '<tr>
<td colspan="10" valign="middle" height="25" align="right"><span class = "linknormal">Página:
'.$re.'
</span></td>
</tr> ';
}
else
{
echo "<font face='Verdana, Arial, Helvetica, sans-serif' size=1'>la db esta vacia</font>";
}
?>