Foros del Web » Programando para Internet » PHP »

Problema con Sistema de Noticias, resumir noticia y mostrarla completa en otra pagina

Estas en el tema de Problema con Sistema de Noticias, resumir noticia y mostrarla completa en otra pagina en el foro de PHP en Foros del Web. Buenas, tengo un pequeño sistema de noticias en el cual quiero que aparesca un resumen de estas y que mediante el tipico link "leer mas" ...
  #1 (permalink)  
Antiguo 08/09/2011, 18:38
 
Fecha de Ingreso: marzo-2008
Mensajes: 60
Antigüedad: 16 años
Puntos: 0
Problema con Sistema de Noticias, resumir noticia y mostrarla completa en otra pagina

Buenas, tengo un pequeño sistema de noticias en el cual quiero que aparesca un resumen de estas y que mediante el tipico link "leer mas" me la muestre completa en una pagina nueva.
Pongo la bd, el codigo y lo explico mas o menos a ver si me pueden ayudar.


bd:

CREATE TABLE `sn_noticias` (
`not_ID` int(11) NOT NULL auto_increment,
`notTitulo` varchar(255) NOT NULL,
`notTexto` text NOT NULL,
`notCategoriaID` int(11) NOT NULL,
PRIMARY KEY (`not_ID`)
) ENGINE=MyISAM;


Bueno de ahi el que me importa es "not_ID" que es el que identifica cada noticia como unica.

Ahora el codigo con el link, (creo que es en el link donde fallo ya que no me envia el valor de "not_ID" a la variable noticia, pero no se jeje)


Código PHP:
// verifico si se ha enviado 
// alguna variable via GET 
if(isset($_GET['id']) && $_GET['categoria']){ 
    
// asigno los valores 
    // a las variables que uso 
    
$cat_ID $_GET['id']; 
    
$categoria $_GET['categoria']; 
    
$clausula "WHERE notCategoriaID = '$cat_ID'"
    
// tambien armo 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 
                            $clausula"
$db_link
                            or die(
mysql_error); 
echo 
"<h1>$titulo</h1>"
// muestro las noticias, 
// otra vez usanod un bucle while 
while($rowNot mysql_fetch_array($sqlQueryNot)){ 
    echo 
"<h1>$rowNot[notTitulo]</h1>"
    echo 
nl2br (substr(($rowNot['notTexto']),0,150)) . "...";  
    echo 
'<tr><a href="ver.php?noticia='.$rowNot['not_ID'].'">[Leer más..]</a><br /><br /><br />';  

Y ahora dejo el codigo de la pagina donde deberia aparecer la noticia desarrollada:

ver.php

Código PHP:
include('db-cnx.php'); 
$re=mysql_query('select * from noticias where id ="'.$_GET['noticia'].'" '); 
while(
$rowNot=mysql_fetch_array($re)){ 
echo 
'<tr>'.$rowNot['notTitulo'].'</td></tr><br /><br />'
echo 
'<tr>'.$rowNot['notTexto'].'</td></tr><br /><br />'
En otro sistema mas sencillo aun sin lo de las categorias me habia funcionnado perfecto, no se que pasa en este que nada.

El error en si es que en vez de ir a la Url "/ver.php?noticia=1" y mostrar en ese caso lo que seria la noticia 1,
la Url a la que va es "/ver.php?noticia=".
Por lo que no esta mostrando el valor de "not_ID" que es el cual identifica a la noticia.


Pidanme cualquier otra data que crean necesaria para encontrar el error que posteo a ver si tiene solucion.

Desde ya graciasss :D
  #2 (permalink)  
Antiguo 08/09/2011, 18:44
 
Fecha de Ingreso: diciembre-2006
Ubicación: Peruvian
Mensajes: 142
Antigüedad: 17 años, 4 meses
Puntos: 7
Respuesta: Problema con Sistema de Noticias, resumir noticia y mostrarla completa en

Te falta seleccionar el campo "not_ID" en el select seria asi:
// armamos la consulta
Código PHP:
Ver original
  1. $sqlQueryNot = mysql_query("SELECT not_ID,notTitulo, notTexto FROM sn_noticias
  2.                            $clausula", $db_link)
  3.                             or die(mysql_error);
Saludos!
  #3 (permalink)  
Antiguo 08/09/2011, 19:12
 
Fecha de Ingreso: marzo-2008
Mensajes: 60
Antigüedad: 16 años
Puntos: 0
Respuesta: Problema con Sistema de Noticias, resumir noticia y mostrarla completa en

Perfecto ya me lleva a esa Url.

Tambien encontre que en ver.php estaba seleccionando la tabla equivocada, en vez de "noticia" era "sn_noticias"

Bueno ahora con la url correcta y la tabla correcta me muestra el siguiente error

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\Archivos de programa\EasyPHP-5.3.6.1\www\mas.php on line 12

Código PHP:
include('db-cnx.php');
$re=mysql_query('select * from sn_noticias where id ="'.$_GET['noticia'].'" ');
while(
$rowNot=mysql_fetch_array($re)){
echo 
'<tr>'.$rowNot['fecha'].'</td><br />';
echo 
'<tr>'.$rowNot['titulo'].'</td></tr><br /><br />';
echo 
'<tr>'.$rowNot['noticia'].'</td></tr><br /><br />';

La line 12 es la del select no se en que fallo en esa sintaxis.
  #4 (permalink)  
Antiguo 08/09/2011, 19:49
 
Fecha de Ingreso: diciembre-2006
Ubicación: Peruvian
Mensajes: 142
Antigüedad: 17 años, 4 meses
Puntos: 7
Respuesta: Problema con Sistema de Noticias, resumir noticia y mostrarla completa en

Pero no necesitas usar el while porrque el select solo te devolvera una fila correspondiente al id(not_ID) de la tabla.
Otra cosa, investiga un poco sobre seguridad ya que no filtras tus variables que viene de GET.
(inyeccion sql ,xss)
Saludos!
  #5 (permalink)  
Antiguo 08/09/2011, 22:57
 
Fecha de Ingreso: marzo-2008
Mensajes: 60
Antigüedad: 16 años
Puntos: 0
Respuesta: Problema con Sistema de Noticias, resumir noticia y mostrarla completa en

Gracias por la solucion y el consejo, soy bastante noob y por meterme con codigos asi a veces me mareo y mucho,
Por eso no me fije que habia puesto mal el where, en vez de "where id ="'.$_GET['noticia'].'" ');"
era "where not_ID ="'.$_GET['noticia'].'" ');"

Estaba seleccionando de una tabla que no tenia.

Ahora que quedo mirare el tema de la seguridad. Gracias por la ayuda.

Etiquetas: resumirlas, 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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 20:56.