y aca es donde esta el problema escencialmente, en la pagina principal la paginacion funciona perfecto, basicamente se envia a la url una variable $pagina y dependiendo el valor de esta muestra los resultados de las noticias de a 10 por ejemplo.
El problema es que para separar las noticias por categorias tambien dependo de lo que se muestre en la url, ya que ligo un campo de la tabla de noticias con un campo de la tabla de catagorias y asi enviando a la url una variable con el valor del campo que liga la categoria con la noticias me permite en otra pagina seleccionar y mostrar solo las noticias que empatan con ese campo.
Les dejo lo que decia de las urls y codigo asi se va a entender mejor.
Suponiendo que la url de la pagina principal fuera esta:
Cita:
Alli se muestran los resultados de las noticias del 1 al 10 y debajo la paginacion para avanzar a la siguiente pagina en la cual se muestran los resultados de la noticia 11 a la 20 y asi sucesivamente. www.blablabla.com
url de la pagina 2, en la que se muestran las noticias de la 11 a la 20:
Cita:
Y aqui el problema ya que la url para mostrar las noticias de alguna categoria en especifico seria esta: www.blablabla.com?pagina=2
Cita:
Por lo que al mantener esa forma si quiero pasar a la pagina 2 la url quedaria: www.blablabla.com/categorias.php?Cat=1
Cita:
Por lo que al no mostrar el valor de la variable ?Cat en la url ya no puedo motrar los resultados de la consulta. www.blablabla.com/categorias.php?pagina=2
No se me ocurre como puedo adaptarlo para que se mantenga el valor de ?Cat y aparesca el de
?pagina para poder paginar los resultados.
Dejo los codigos por si me explique mal y por si encuentran solucion para mi problema.
index.php (esta es la que obviamente no tiene problemas)
Código PHP:
include('db-cnx.php');
?>
<div style="float:left; width: 25%;">
<h1>Noticias</h1><br/><br/>
<?php
//Limito la busqueda
$TAMANO_PAGINA = 2;
//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 noticias";
$rs = mysql_query($ssql);
$num_total_registros = mysql_num_rows($rs);
[/b]//calculo el total de páginas
$total_paginas = ceil($num_total_registros / $TAMANO_PAGINA);
//construyo la sentencia SQL
$ssql = "select * from noticias limit " . $inicio . "," . $TAMANO_PAGINA;
$rs = mysql_query($ssql);
while($f=mysql_fetch_array($rs)){
echo '<tr>'.$f['fecha'].'</td><br />';
echo '<tr>'.$f['titulo'].'</td><br />';
echo nl2br (substr(($f['noticia']),0,150)) . "...";
echo '<tr><a href="noticia.php?id='.$f['id'].'">[Ver noticia completa]</a><br /><br /><br />';
}
//cerramos el conjunto de resultado y la conexión con la base de datos
mysql_free_result($rs);
//muestro los distintos índices de las páginas, si es que hay varias páginas
if ($pagina==1) {
echo "<strong>".$pagina."</strong>";
}
if ($pagina!= 1) {
echo '<a href="?pagina=1">1</a>';
echo "...";
echo '<a href="?pagina=' . ($pagina - 1) . '">' . ($pagina - 1) . '</a>';
echo "<strong>".$pagina."</strong>";
}
if ($pagina!= $total_paginas) {
echo'<a href="?pagina=' . ($pagina + 1) . '">' . ($pagina + 1) . '</a>';
echo "...";
echo "<a href='?pagina=$total_paginas'>".$total_paginas."</a>";
}
?>
</div>
<div style="float:right; width: 75%;">
<h1>Categorias</h1><br/><br/>
<?php
$sqlQueryCat = mysql_query("SELECT * FROM categorias", $db_link)
or die(mysql_error());
echo "<ul>";
while($rowCat = mysql_fetch_array($sqlQueryCat)){
echo "<li><a href='categorias.php?Cat=$rowCat[cat_id]'>$rowCat[categoria]</a></li>";
}
echo "</ul>";
categorias.php
Código PHP:
include('db-cnx.php');
//Limito la busqueda
$TAMANO_PAGINA = 1;
//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 noticias where notCat_id ="'.$_GET['Cat'].'" ';
$rs = mysql_query($ssql);
$num_total_registros = mysql_num_rows($rs);
//calculo el total de páginas
$total_paginas = ceil($num_total_registros / $TAMANO_PAGINA);
//construyo la sentencia SQL
$ssql = "SELECT * FROM noticias WHERE notCat_id ='$_GET[Cat]' LIMIT $inicio, $TAMANO_PAGINA";
$rs = mysql_query($ssql) or die(mysql_error());
while($f=mysql_fetch_array($rs)){
echo '<tr>'.$f['fecha'].'</td><br />';
echo '<tr>'.$f['titulo'].'</td><br />';
echo nl2br (substr(($f['noticia']),0,150)) . "...";
echo '<tr><a href="noticia.php?id='.$f['id'].'">[Ver noticia completa]</a><br /><br /><br />';
}
//muestro los distintos índices de las páginas, si es que hay varias páginas
if ($pagina==1) {
echo "<strong>".$pagina."</strong>";
}
if ($pagina!= 1) {
echo '<a href="?pagina=1">1</a>';
echo "...";
echo '<a href="pagina=' . ($pagina - 1) . '">' . ($pagina - 1) . '</a>';
echo "<strong>".$pagina."</strong>";
}
if ($pagina!= $total_paginas) {
echo'<a href="?pagina=' . ($pagina + 1) . '">' . ($pagina + 1) . '</a>';
echo "...";
echo '<a href="categorias.php?pagina=' .$total_paginas.'">' .$total_paginas.'</a>';
}
Gracias desde ya :D:D:D