Bién, luego de esta introducción, mi problema es este: cuando se postea un mensaje y éste corresponde por ej. al post nº 11, 21, 31, 41, 51, etc.,
debería direccionarse a su pagina y anclaje correspondiente y no lo hace (por ej. post nº31 sería foro.php?pagina=3&newpost=30#31), este problema ocurre solo en esa ocación después funciona perfecto.
Donde podría estar el problema?, supongo que el inconveniente podría estar cuando en el script se dividen $total_paginas = ceil($num_total_registros / $TAMANO_PAGINA); en el ceil, pero no me funciono.
El script de paginación que utilizo es este, ademas utilizo template:
/examino la página a mostrar y el inicio del registro a mostrar
$pagina = $_GET["pagina"];
if (!$pagina) {
$inicio = 0;
$pagina=1;
}
else {
$inicio = ($pagina - 1) * $TAMANO_PAGINA;
}
//miro a ver el número total de campos que hay en la tabla con esa búsqueda
$ssql = "select * from foro";
$rs = mysql_query($ssql,$conn);
$num_total_registros = mysql_num_rows($rs);
//calculo el total de páginas
$total_paginas = ceil($num_total_registros / $TAMANO_PAGINA);
//pongo el número de registros total, el tamaño de página y la página que se muestra
set_var("mostrarpag"," <font color='#000000' size='1' face='Verdana, Arial, Helvetica, sans-serif'>Página </font> " . "<font color='#000000' size='1' face='Verdana, Arial, Helvetica, sans-serif'><strong>$pagina </strong></font>" . " <font color='#000000' size='1' face='Verdana, Arial, Helvetica, sans-serif'>de </font> " . " <font color='#000000' size='1' face='Verdana, Arial, Helvetica, sans-serif'><strong>$total_paginas </strong></font> ");
set_var("totpag"," <font color='#000000' size='1' face='Verdana, Arial, Helvetica, sans-serif'>Registros encontrados: </font> " . " <font color='#000000' size='1' face='Verdana, Arial, Helvetica, sans-serif'><strong>$num_total_registros </strong></font> ");
//construyo la sentencia SQL
$ssql = "select * from foro " . " limit " . $inicio . "," . $TAMANO_PAGINA;
$rs = mysql_query($ssql);
/************************************************** ****/
/* Funcion paginar
* actual: Pagina actual
* $num_total_registros: Total de registros
* por_pagina: Registros por pagina
* enlace: Texto del enlace
* Devuelve un texto que representa la paginacion
*/
function paginar($actual, $num_total_registros, $TAMANO_PAGINA, $enlace) {
$total_paginas = ceil($num_total_registros/$TAMANO_PAGINA);
$anterior = $actual - 1;
$posterior = $actual + 1;
if ($actual>1)
$texto = "<a href=\"$enlace$anterior#comfaq\"><font color='0000ff' size='1' face='Verdana, Arial, Helvetica, sans-serif'><strong>«Anterior</strong></font></a> ";
else
$texto = "";
for ($i=1; $i<$actual; $i++)
$texto .= "<a href=\"$enlace$i#comfaq\"><font color='0000ff' size='1' face='Verdana, Arial, Helvetica, sans-serif'><strong>$i</strong></font></a> ";
$texto .= "<font color='000000' size='1' face='Verdana, Arial, Helvetica, sans-serif'><strong>$actual </strong></font>";
for ($i=$actual+1; $i<=$total_paginas; $i++)
$texto .= "<a href=\"$enlace$i#comfaq\"><font color='0000ff' size='1' face='Verdana, Arial, Helvetica, sans-serif'><strong>$i</strong></font></a> ";
if ($actual<$total_paginas)
$texto .="<a href=\"$enlace$posterior#comfaq\"><font color='0000ff' size='1' face='Verdana, Arial, Helvetica, sans-serif'><strong>Siguiente»</strong></font></a>";
else
$texto .= "";
return $texto;
}
set_var("pags",paginar($pagina, $num_total_registros, $TAMANO_PAGINA, "foro.php?pagina="));
y en la parte en la que se debería dirigir luego de postear a otro archivo es esta:
$ssql = "SELECT * FROM foro order by id DESC";
$rs = mysql_query($ssql);
$f = mysql_fetch_object($rs);
header("Location:foro.php?pagina=$total_paginas&ne wpost=$f->id#$f->id");
Bueno espero haber sido claro.
Gracias.
Saludos!!!
![de acuerdo](http://static.forosdelweb.com/fdwtheme/images/smilies/dedosarriba.png)
![de acuerdo](http://static.forosdelweb.com/fdwtheme/images/smilies/dedosarriba.png)
![de acuerdo](http://static.forosdelweb.com/fdwtheme/images/smilies/dedosarriba.png)