Foros del Web » Programando para Internet » PHP »

Dudas con pPaginador para sistema de noticias

Estas en el tema de Dudas con pPaginador para sistema de noticias en el foro de PHP en Foros del Web. Hola a todos. Saludos. Hace unos días visité la sección del foro sobre los sistemas php y me gustó mucho el sistema de noticias que ...
  #1 (permalink)  
Antiguo 30/07/2008, 11:03
 
Fecha de Ingreso: agosto-2005
Mensajes: 152
Antigüedad: 18 años, 8 meses
Puntos: 0
Pregunta Dudas con pPaginador para sistema de noticias

Hola a todos.
Saludos.
Hace unos días visité la sección del foro sobre los sistemas php y me gustó mucho el sistema de noticias que aparece explicado.
Implementé el mismo en mi web y funciona de maravillas. He querido modificar algunas cosas, cambiarle la estética, poner un resumen de las noticias y además de eso poner un paginador. He aquí el problema. Tengo este código:
Código PHP:
<?php
include ('db-cnx.php');
// verificamos si se ha enviado
// alguna variable via GET
$TAMANO_PAGINA 5;
$pagina $HTTP_GET_VARS['pagina'];
if (
$pagina)
{
    
$inicio 0;
    
$pagina 1;    
}
else {
    
$inicio = ($pagina 1) * $TAMANO_PAGINA;  
}
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'";
// tambien armamos el titular de la pagina
$titulo "Noticias en la categoria $categoria";
}else{
// de lo contrario
// el titulo sera general
$titulo "Todas las noticias";
}
// armamos la consulta
$sqlQueryNot mysql_query("SELECT notTitulo, notTexto FROM sn_noticias
WHERE notCategoriaID = '$cat_ID' LIMIT 0,5"
)
or die(
mysql_error());
$rs mysql_query($sqlQueryNot);
$num_total_registros mysql_num_rows($rs);
$total_paginas ceil($num_total_registros $TAMANO_PAGINA);
echo 
"<h1>$titulo</h1>";
// mostramos las noticias,
// otra vez usando un bucle while
while($rowNot mysql_fetch_array($sqlQueryNot)){
echo 
"<h1>$rowNot[notTitulo]</h1>";
echo 
nl2br($rowNot['notTexto']);
echo 
"El número de noticias encontradas: " $num_total_registros "<br>";
echo 
"Se muestran páginas de " $TAMANO_PAGINA "registros cada una<br>";
echo 
"Mostrando la página " $pagina "de" $total_paginas "<p>";
}
?>
Cuando llamo a la página index.php me sale el siguiente error:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\noticias\list-noticia.php on line 33
Realmente no se porque el argumento no es válido.
Espero me hayan entendido.
Muchas Gracias.
  #2 (permalink)  
Antiguo 30/07/2008, 11:36
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: Dudas con pPaginador para sistema de noticias

Que tal efelix, prueba así tu código:

Código PHP:
// armamos la consulta
$sqlQueryNot mysql_query("SELECT notTitulo, notTexto FROM sn_noticias WHERE notCategoriaID = '$cat_ID' LIMIT 0,5") or die(mysql_error());
$num_total_registros mysql_num_rows($sqlQueryNot);
$total_paginas ceil($num_total_registros $TAMANO_PAGINA);
echo 
"<h1>$titulo</h1>";
// mostramos las noticias,
// otra vez usando un bucle while
while($rowNot mysql_fetch_array($sqlQueryNot)){
echo 
"<h1>$rowNot[notTitulo]</h1>";
echo 
nl2br($rowNot['notTexto']);
echo 
"El número de noticias encontradas: " $num_total_registros "<br>";
echo 
"Se muestran páginas de " $TAMANO_PAGINA "registros cada una<br>";
echo 
"Mostrando la página " $pagina "de" $total_paginas "<p>";

Saludos.
  #3 (permalink)  
Antiguo 30/07/2008, 13:09
 
Fecha de Ingreso: agosto-2005
Mensajes: 152
Antigüedad: 18 años, 8 meses
Puntos: 0
Respuesta: Dudas con pPaginador para sistema de noticias

Carlojas muchas gracias por tu respuesta. De momento solucionado el problema. Ahora voy a agregarle más artículos a la base de datos a ver si funciona el paginador.
Podrías explicarme donde estaba exactamente el error.
Muchas Gracias.
  #4 (permalink)  
Antiguo 30/07/2008, 15:18
 
Fecha de Ingreso: agosto-2005
Mensajes: 152
Antigüedad: 18 años, 8 meses
Puntos: 0
Respuesta: Dudas con pPaginador para sistema de noticias

Carlojas disculpa que te moleste.
Mira este código:
Código PHP:
<?php
include ('db-cnx.php');
// verificamos si se ha enviado
// alguna variable via GET
$TAMANO_PAGINA 5;
$pagina $HTTP_GET_VARS['pagina'];
if (
$pagina)
{
    
$inicio 0;
    
$pagina 1;    
}
else {
    
$inicio = ($pagina 1) * $TAMANO_PAGINA;  
}
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'";
// tambien armamos el titular de la pagina
$titulo "Noticias en la categoria $categoria";
}else{
// de lo contrario
// el titulo sera general
$titulo "Todas las noticias";
}
// armamos la consulta
$sqlQueryNot mysql_query("SELECT notTitulo, notTexto FROM sn_noticias
WHERE notCategoriaID = '$cat_ID' LIMIT $inicio, $TAMANO_PAGINA"
)
or die(
mysql_error());
$num_total_registros mysql_num_rows($sqlQueryNot);
$total_paginas ceil($num_total_registros $TAMANO_PAGINA);
echo 
"<h1>$titulo</h1>";
// mostramos las noticias,
// otra vez usando un bucle while
while($rowNot mysql_fetch_array($sqlQueryNot)){
echo 
"<h1>$rowNot[notTitulo]</h1>";
echo 
nl2br($rowNot['notTexto']);
echo 
"<br>";
}
echo 
"El número de noticias encontradas:  " .$num_total_registros"<br>";
echo 
"<br>";
echo 
"Se muestran páginas de " $TAMANO_PAGINA " noticias cada una<br>";
echo 
"<br>";
echo 
"Mostrando la página  " .$pagina" de " .$total_paginas"<p>";

if (
$total_paginas 1)
{
    for (
$i 1$i <= $total_paginas$i++){
        if (
$pagina == $i)
        echo 
$pagina "";
        else 
        echo 
"<a href='index.php?pagina= . $i '>" $i "</a>";
    }
}
?>
No funciona. Cuando cargo la página index.php me sale el siguiente error:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-5, 5' at line 2
He buscado pero no encuentro el error por ninguna parte.
Gracias.
  #5 (permalink)  
Antiguo 30/07/2008, 15:30
 
Fecha de Ingreso: agosto-2005
Mensajes: 152
Antigüedad: 18 años, 8 meses
Puntos: 0
Respuesta: Dudas con pPaginador para sistema de noticias

Carlojas disculpa que te moleste.
Mira este código:
Código PHP:
<?php
include ('db-cnx.php');
// verificamos si se ha enviado
// alguna variable via GET
$TAMANO_PAGINA 5;
$pagina $HTTP_GET_VARS['pagina'];
if (
$pagina)
{
    
$inicio 0;
    
$pagina 1;    
}
else {
    
$inicio = ($pagina 1) * $TAMANO_PAGINA;  
}
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'";
// tambien armamos el titular de la pagina
$titulo "Noticias en la categoria $categoria";
}else{
// de lo contrario
// el titulo sera general
$titulo "Todas las noticias";
}
// armamos la consulta
$sqlQueryNot mysql_query("SELECT notTitulo, notTexto FROM sn_noticias
WHERE notCategoriaID = '$cat_ID' LIMIT $inicio, $TAMANO_PAGINA"
)
or die(
mysql_error());
$num_total_registros mysql_num_rows($sqlQueryNot);
$total_paginas ceil($num_total_registros $TAMANO_PAGINA);
echo 
"<h1>$titulo</h1>";
// mostramos las noticias,
// otra vez usando un bucle while
while($rowNot mysql_fetch_array($sqlQueryNot)){
echo 
"<h1>$rowNot[notTitulo]</h1>";
echo 
nl2br($rowNot['notTexto']);
echo 
"<br>";
}
echo 
"El número de noticias encontradas:  " .$num_total_registros"<br>";
echo 
"<br>";
echo 
"Se muestran páginas de " $TAMANO_PAGINA " noticias cada una<br>";
echo 
"<br>";
echo 
"Mostrando la página  " .$pagina" de " .$total_paginas"<p>";

if (
$total_paginas 1)
{
    for (
$i 1$i <= $total_paginas$i++){
        if (
$pagina == $i)
        echo 
$pagina "";
        else 
        echo 
"<a href='index.php?pagina= . $i '>" $i "</a>";
    }
}
?>
No funciona. Cuando cargo la página index.php me sale el siguiente error:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-5, 5' at line 2
He buscado pero no encuentro el error por ninguna parte.
Gracias.
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 14:22.