Foros del Web » Programando para Internet » PHP »

Sistema de noticias

Estas en el tema de Sistema de noticias en el foro de PHP en Foros del Web. Buenas a toda la comunidad , tengo una enorme duda acerca de una de las variables que uso para generar consulta de la tabla noticia ...
  #1 (permalink)  
Antiguo 31/01/2016, 21:40
 
Fecha de Ingreso: febrero-2015
Ubicación: caracas
Mensajes: 22
Antigüedad: 6 años, 3 meses
Puntos: 0
Sistema de noticias

Buenas a toda la comunidad , tengo una enorme duda acerca de una de las variables que uso para generar consulta de la tabla noticia de mi sistema , me arroja el error de que cuando se ejecuta el while que mostrara cada noticia , la variable espera un recurso pero en su lugar recibe un buleano , ya me ha pasado antes pero no tengo ni idea de como arreglar eso , aca abajo les adjunto el codigo que uso , el error esta en la linea 42 en el while de mostrar noticia.

<?php
include("conexionN.php"); // Incluimos nuestro archivo de conexión con la base de datos

if(isset($_GET['noticia']))
{
if(!empty($_GET['noticia'])) // Si el valor de "noticia" no es NULL, continua con el proceso
{
$id_noticia = (int) mysql_real_escape_string($_GET['noticia']);
$query_noticias = mysql_query("SELECT titulo, fecha, texto FROM ".$db_table." WHERE id = '".$id_noticia."' LIMIT 1"); // Ejecutamos la consulta
if(mysql_num_rows($query_noticias) > 0) // Si existe la noticia, la muestra
{
while($columna = mysql_fetch_assoc($query_noticias)) // Realizamos un bucle que muestre todas las noticias, utilizando while.
{
echo '
<div id="articulo">

<h2>'.$columna['titulo'].'</h2>

<p>Publicado por <a href="#">Admin</a> | Mu Online <a href="#">template</a>, <a href="#">Tester</a></p>

<p>'.$columna['texto'].'</p>

<p><a href="#">Comentarios (5)</a> | '.$columna['fecha'].'</p>
</div>
';
}
}
else
{
echo 'La noticia que solicitas, no existe.'; // Si no, muestra un error
}
}
else
{
echo 'Debes seleccionar una noticia.'; // Si GET no recibe ningún valor, muestra un error
}
}
else
{
$query_noticias = mysql_query("SELECT * FROM ".$db_table.""); // Ejecutamos la consulta
$limite = 100; // Número de carácteres a mostrar antes de el "Leer más"
while($columna = mysql_fetch_assoc($query_noticias)) // Realizamos un bucle que muestre todas las noticias, utilizando while.
{
echo '
<div id="articulo">

<h2>'.$columna['titulo'].'</h2>

<p>Publicado por <a href="#">Admin</a> | Mu Online <a href="#">template</a>, <a href="#">Tester</a></p>

<p>'.substr($columna['texto'], 0, $limite).' [...]</p>

<p><a href="?page=news&noticia='.$columna['id'].'" class="Leer">Leer mas</a> | <a href="#">Comentarios (5)</a> | '.$columna['fecha'].'</p>
</div>
';
}
}
?>
  #2 (permalink)  
Antiguo 31/01/2016, 22:52
Avatar de carlillos  
Fecha de Ingreso: febrero-2007
Ubicación: México
Mensajes: 245
Antigüedad: 14 años, 3 meses
Puntos: 21
Respuesta: Sistema de noticias

Si la función mysql_query() obtiene un error, tu variable $query_noticias sería igual a FALSE y por lo tanto te podría generar ese error al tratar de usarla como recurso.
Haz un echo de tu consulta y trata de ejecutarla en phpmyadmin.
  #3 (permalink)  
Antiguo 01/02/2016, 11:37
 
Fecha de Ingreso: julio-2011
Ubicación: Los Rios
Mensajes: 145
Antigüedad: 9 años, 9 meses
Puntos: 10
Respuesta: Sistema de noticias

La variable $db_table no tiene valor por lo cual tu consulta
Código PHP:
Ver original
  1. $query_noticias = mysql_query("SELECT titulo, fecha, texto FROM ".$db_table." WHERE id = '".$id_noticia."' LIMIT 1"); // Ejecutamos la consulta
de la linea 9 no se ejecuta ni tampoco podras hacerlo con el bucle
Código PHP:
Ver original
  1. while($columna = mysql_fetch_assoc($query_noticias)) // Realizamos un bucle que muestre todas las noticias, utilizando while.

dado que tu $query_noticias es unicamente

Código SQL:
Ver original
  1. SELECT * FROM

espero lo hayas notado
__________________
___________________________
Si te ayudo mi respuesta dale al +1

Etiquetas: conexion, include, noticia, parametro, sistema
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 06:21.