Foros del Web » Programando para Internet » PHP »

Problema con sistema de noticias

Estas en el tema de Problema con sistema de noticias en el foro de PHP en Foros del Web. Bueno el problema que tengo es el siguiente y no le encuentro la vuelta.. tengo el sistema de noticias casi terminado.. el unico problema que ...
  #1 (permalink)  
Antiguo 21/10/2011, 20:49
 
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires
Mensajes: 126
Antigüedad: 13 años, 6 meses
Puntos: 11
Problema con sistema de noticias

Bueno el problema que tengo es el siguiente y no le encuentro la vuelta.. tengo el sistema de noticias casi terminado.. el unico problema que tengo es que cuando un usuario agrega una noticia al blog y luego uno ingresa a la pagina donde se encuentra la noticia, se imprime todo.. es decir.. la categoria.. titulo, copete, etc. pero no imprime el usuario que ha creado la noticia.. el autor. Tengo una tabla noticias.. y otra de usuarios.. las cuales relaciono con inner join. El error da en la linea 47 del codigo.. al hacer un left join solo dejó ese espacio en blanco.. con lo cual detecte el error de porque no imprimia nada. Lo que deberia hacer es imprimir el usuario que creo la noticia.. pero no lo puedo lograr..

Este es el codigo

Código PHP:
Ver original
  1. <?
  2.  
  3. // iniciamos session
  4.  
  5. // archivos necesarios
  6. require_once 'admin/config.php';
  7. require_once 'admin/conexion.php';
  8. require_once 'admin/esUsuario.php';
  9.  
  10. // obtengo puntero de conexion con la db
  11. $dbConn = conectar();
  12.  
  13. // verificamos que este conectado el usuario
  14. if ( !empty( $_SESSION['usuario'] ) && !empty($_SESSION['password']) ) {
  15.     $arrUsuario = esUsuario( $_SESSION['usuario'], $_SESSION['password'], $dbConn );      
  16. }
  17.  
  18. if ( !empty($_POST['submit']) ) {
  19.    
  20.     if ( !empty($_POST['comentario']) )     $comentario     = $_POST['comentario'];
  21.     if ( !empty($_GET['idNoticia']) )      $idNoticia         = $_GET['idNoticia'];
  22.     if ( !empty($arrUsuario['idUsuario']))  $idUsuario        = $arrUsuario['idUsuario'];
  23.    
  24.     // completamos la variable error si es necesario
  25.     if ( empty($comentario) )   $error['comentario']   = true;
  26.     if ( empty($idNoticia) )    $error['idNoticia']       = true;
  27.     if ( empty($idUsuario) )    $error['idUsuario']       = true;
  28.    
  29.     // si no hay errores registramos al usuario
  30.     if ( empty($error) ) {
  31.        
  32.         // inserto los datos de registro en la db
  33.         $query  = "INSERT INTO comentarios (comentario, idUsuario, idNoticia) VALUES ('$comentario','$idUsuario','$idNoticia')";
  34.         $result = mysql_query($query, $dbConn);
  35.        
  36.         header( 'Location: vernoticia.php?idNoticia='.$idNoticia );
  37.         die;
  38.        
  39.     }
  40.    
  41. }
  42.  
  43. // traemos la noticia
  44. $query = "SELECT noticias.idNoticia, noticias.titulo, noticias.copete, noticias.cuerpo, categorias.valor as categoria, usuarios.usuario FROM noticias
  45. INNER JOIN categorias ON categorias.idCategoria = noticias.idCategoria
  46. lEFT JOIN usuarios ON usuarios.idUsuario = noticias.idUsuario
  47. WHERE noticias.idNoticia = " . $_GET['idNoticia'] . " LIMIT 1";
  48. $resultado = mysql_query ($query, $dbConn);
  49. $noticia = mysql_fetch_assoc ($resultado);
  50. ?>

Y asi es como imprimo el usuario que creo la noticia (deberia imprimir)

Código PHP:
Ver original
  1. <? echo $noticia['usuario']; ?>
  #2 (permalink)  
Antiguo 24/01/2012, 17:45
Avatar de bLEx  
Fecha de Ingreso: mayo-2008
Ubicación: Villa Alemana, Chile
Mensajes: 181
Antigüedad: 16 años
Puntos: 5
Respuesta: Problema con sistema de noticias

Probaste simplemente sacando el inner y el left y dejando solo los join?

Etiquetas: sistema, usuarios
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 07:26.