Foros del Web » Programando para Internet » PHP »

Paginacion sistema de noticias

Estas en el tema de Paginacion sistema de noticias en el foro de PHP en Foros del Web. Buenas! Quisiera que alguien me ayudara. Os cuento... Tengo un sistema de noticias el cual utiliza: index.php?categoria=Politica&id=17 index.php?categoria=Sociedad&id=17 ...etc És decir en el mismo archivo ...
  #1 (permalink)  
Antiguo 04/02/2009, 13:06
 
Fecha de Ingreso: septiembre-2008
Mensajes: 211
Antigüedad: 15 años, 7 meses
Puntos: 2
Paginacion sistema de noticias

Buenas! Quisiera que alguien me ayudara. Os cuento...

Tengo un sistema de noticias el cual utiliza:

index.php?categoria=Politica&id=17

index.php?categoria=Sociedad&id=17
...etc

És decir en el mismo archivo index.php hay un menu donde dice:

Politica, Sociedad, Deportes, Debate...etc

Dependiendo de la variable categoria te imprime las noticias de dicha categoria en el caso de que no haya seleccionado ningua categoria imprime en pantalla todas las noticias. el caso esque quiero hacer un paginador en el que solo me imprimera los documentos de cada seccion use esto pero no me funciona.

El error és que vaya en la categoria en que vaya me muestra todas las noticias.

El paginador és de jpinedo.


Código PHP:
<?php include('db-cnx.php'); ?>
<?php
// verificamos si se ha enviado
// alguna variable via GET
if(isset($_GET['id']) && $_GET['categoria']){
    
// asignamos los valores
    // a las variables que usaremos
    
$cat_ID $_GET['id'];
    
$categoria $_GET['categoria'];
    
$clausula "WHERE notCategoriaID = '$cat_ID' ORDER BY not_ID DESC";
    
// tambien armamos el titular de la pagina
    
$titulo "$categoria";
}else{
    
// de lo contrario
    // el titulo sera general
    
$titulo "Últimes notícies";
echo 
"<h1>$titulo</h1>";

}
// armamos la consulta

// mostramos las noticias,
// otra vez usanod un bucle while

?> 
<?
//Conexión a la base de datos
include('db-cnx.php');

//Sentencia sql (sin limit)
$categoria $_GET['categoria'];
$_pagi_sql "SELECT notTitulo, notTexto, not_ID, date FROM sn_noticias
                            ORDER BY not_ID DESC"
;
//cantidad de resultados por página (opcional, por defecto 20)
$_pagi_cuantos 5;//Elegí un número pequeño para que se generen varias páginas

//cantidad de enlaces que se mostrarán como máximo en la barra de navegación
$_pagi_nav_num_enlaces 3;//Elegí un número pequeño para que se note el resultado

//Decidimos si queremos que se muesten los errores de mysql
$_pagi_mostrar_errores false;//recomendado true sólo en tiempo de desarrollo.

//Si tenemos una consulta compleja que hace que el Paginator no funcione correctamente, 
//realizamos el conteo alternativo.
$_pagi_conteo_alternativo false;//recomendado false.

//Supongamos que sólo nos interesa propagar estas dos variables
$_pagi_propagar = array("not_ID","notTexto","notTitulo");//No importa si son POST o GET

//Definimos qué estilo CSS se utilizará para los enlaces de paginación.
//El estilo debe estar definido previamente
$_pagi_nav_estilo "paginacion";

//definimos qué irá en el enlace a la página anterior
$_pagi_nav_anterior "&lt;";// podría ir un tag <img> o lo que sea

//definimos qué irá en el enlace a la página siguiente
$_pagi_nav_siguiente "&gt;";// podría ir un tag <img> o lo que sea

//Incluimos el script de paginación. Éste ya ejecuta la consulta automáticamente
include("paginator.inc.php");

//Leemos y escribimos los registros de la página actual

if($cat_ID != NULL){
$sqlQueryNot mysql_query("SELECT notTitulo, notTexto, not_ID, date FROM sn_noticias
                            $clausula"
$db_link)
                            or die(
mysql_error);
echo 
"<h1>$titulo</h1>";
while(
$rowNot mysql_fetch_array($sqlQueryNot)){
echo 
"<center><table border=0 width=95%><tr><td width=500>";
echo 
"<h2>$rowNot[notTitulo]</h2>";
echo 
"</td><td>$rowNot[date]</td></tr><tr><td colspan=2>";
$cadena substr($rowNot[notTexto], 0500);

echo 
$cadena;
echo 
"...";



echo 
"</td></tr></table>";
echo 
"<table border=0><tr><td width=89%></td><td width=18%>";
echo 
"<a href=mes.php?not_ID=$rowNot[not_ID]>llegir més</a></td></tr></table> ";
echo 
"<hr width=90%>";
}
}
else{
while(
$row mysql_fetch_array($_pagi_result)){
echo 
"<center><table border=0 width=100%><tr><td width=500>";
echo 
"<h2>$row[notTitulo]</h2>";
echo 
"</td><td>$row[date]</td></tr><tr><td colspan=2></tr></table>";
$cadena substr($row[notTexto], 0500);

echo 
$cadena;
echo 
"...";



echo 
"</td></tr></table>";
echo 
"<table border=0><tr><td width=89%></td><td width=18%>";
echo 
"<a href=mes.php?not_ID=$row[not_ID]>llegir més</a></td></tr></table> ";
echo 
"<hr width=90%>";

}
}
//Incluimos la barra de navegación
echo"<p>".$_pagi_navegacion."</p>";

//Incluimos la información de la página actual
echo"<p>Número de notícies ".$_pagi_info."</p>";
?>
  #2 (permalink)  
Antiguo 04/02/2009, 13:19
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Paginacion sistema de noticias

Busca en Aportes PHP, hay dos paginadores muy buenos, uno de okram y otro de jpinedo.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 04/02/2009, 13:24
 
Fecha de Ingreso: septiembre-2008
Mensajes: 211
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: Paginacion sistema de noticias

hmmm si los visité i estoy usando uno de ellos el de jpinedo el problema no està ahi el probelma esta en que no puedo hacer que salgan solo las noticias de la categoria que hay en el GET..nse si me entienden...


Saludos muchissimas gracias triby de todas formas!
  #4 (permalink)  
Antiguo 04/02/2009, 13:41
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Paginacion sistema de noticias

Ups, perdon, no lei todo el post... no se noto verdad?

Primer error a corregir:
Código PHP:
// tambien deberias usar isset para categoria
if(isset($_GET['id']) && $_GET['categoria'])

// Aunque no le veo mucha utilidad aqui, porque mas abajo en tu codigo:
$categoria $_GET['categoria'];

// Y yo simplificaria la forma en que armas la consulta:
$_pagi_sql "SELECT notTitulo, notTexto, not_ID, date FROM sn_noticias ";
if(isset(
$_GET['id']) && $_GET['id'] > 0// Aqui solo asegurate de que existe y es valida
       
$_pagi_sql .= "WHERE notCategoriaID = '$cat_ID' ";
$_pagi_sql .= "ORDER BY not_ID DESC"
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 04/02/2009, 14:00
 
Fecha de Ingreso: septiembre-2008
Mensajes: 211
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: Paginacion sistema de noticias

Perfectooo! gracias muchas gracias un paso adelante! ahora todo va bien. En Sociedad salen todas las de sociedad, en cultura igual...etc ahora el problema viene de los links

Anterior 1 2 3 4 Siguiente

Cuando estoy por ejemplo en Sociedad tendria que salir esta URL me parece al hacer clic en 2:

index.php?categoria=Sociedad&id=24&_pagi_pg=2

Pero siempre me sale la misma URL como puedo hacer para que:

En Index me salieran TODAS las noticias con el paginador de todas las noticias i en cada categoria me salieran solo las de cada categoria...los links no se si me entienden creo que se tiene que canviar algo en el archivo paginator.inc.php


Saludos! Gracias de veras!

Última edición por mesoriginal; 04/02/2009 a las 14:01 Razón: Puse una url que no debí.
  #6 (permalink)  
Antiguo 04/02/2009, 14:18
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Paginacion sistema de noticias

Por defecto se propagan todas las variables que vienen por la URL, a menos que las especifiques aqui:

Código PHP:
$_pagi_propagar = array("not_ID","notTexto","notTitulo");

// Si intentas dejarlo como array vacio podria funcionar:
$_pagi_propagar = array(); 
__________________
- León, Guanajuato
- GV-Foto
  #7 (permalink)  
Antiguo 04/02/2009, 19:51
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 5 meses
Puntos: 43
Respuesta: Paginacion sistema de noticias

aca te dejo otro link de paginador muy bueno
http://scripts.phperu.net/paging/
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:48.