Foros del Web » Programando para Internet » PHP »

Problema con php y mysql

Estas en el tema de Problema con php y mysql en el foro de PHP en Foros del Web. Buenas hace poco empece con una pagina web, diseñada para mi hermana la cual estaba programada con lo mas basico del html puro jeje bueno ...
  #1 (permalink)  
Antiguo 10/05/2010, 22:42
 
Fecha de Ingreso: mayo-2010
Mensajes: 1
Antigüedad: 14 años
Puntos: 0
Problema con php y mysql

Buenas hace poco empece con una pagina web, diseñada para mi hermana la cual estaba programada con lo mas basico del html puro jeje bueno en fin
hoy en dia estoy aprendiendo php ya que quiero hacer una pagina personal
y requiero de conexiones con una base de datos caso aparte, mas o menos
ok pasemos al problema esperando alguno de ustedes me pueda dar una ayudita

Bueno la cuestion es la siguiente tengo una seccion llamada noticias la cual a partir de una noticia escrita genera un link en el titulo de la misma para ir a la seccion apartada de esa misma noticia

esto funciona bien la cuestion es que copie el archivo que genera este apartado para hacer una seccion parecida para eventos llamada fechas pero al modificar el codigo php para que se conecte y saque los datos de la tabla llamada fechas

en algun lado falla y me da este error Warning: mysql_fetch_assoc():....
en la linea 49 y 59 aca pongo el codigo de la misma y la original que esta conectada a la tabla noticias

Pagina vernoticia.php la tabla de esta se llama "noticias"

Código PHP:
<?

// iniciamos session
session_start ();

// archivos necesarios
require_once 'admin/config.php';
require_once 
'admin/conexion.php';
require_once 
'admin/esUsuario.php';

// obtengo puntero de conexion con la db
$dbConn conectar();

// verificamos que este conectado el usuario
if ( !empty( $_SESSION['usuario'] ) && !empty($_SESSION['password']) ) {
    
$arrUsuario esUsuario$_SESSION['usuario'], $_SESSION['password'], $dbConn );        
}

if ( !empty(
$_POST['submit']) ) {
    
    if ( !empty(
$_POST['comentario']) )     $comentario     $_POST['comentario'];
    if ( !empty(
$_GET['idNoticia']) )        $idNoticia         $_GET['idNoticia'];
    if ( !empty(
$arrUsuario['idUsuario']))    $idUsuario        $arrUsuario['idUsuario'];
    
    
// completamos la variable error si es necesario
    
if ( empty($comentario) )     $error['comentario']         = true;
    if ( empty(
$idNoticia) )     $error['idNoticia']         = true;
    if ( empty(
$idUsuario) )     $error['idUsuario']         = true;
    
    
// si no hay errores registramos al usuario
    
if ( empty($error) ) {
        
        
// inserto los datos de registro en la db
        
$query  "INSERT INTO `comentarios` (comentario, idUsuario, idNoticia) VALUES ('$comentario','$idUsuario','$idNoticia')";
        
$result mysql_query($query$dbConn);
        
        
header'Location: vernoticia.php?idNoticia='.$idNoticia );
        die;
        
    }
    
}

// traemos la noticia
$query "SELECT noticias.idNoticia, noticias.titulo, noticias.copete, noticias.cuerpo, categorias.valor as categoria, usuarios.usuario FROM `noticias` 
INNER JOIN `categorias` ON categorias.idCategoria = noticias.idCategoria 
INNER JOIN `usuarios` ON usuarios.idUsuario = noticias.idUsuario 
WHERE noticias.idNoticia = " 
$_GET['idNoticia'] . " LIMIT 1";
$resultado mysql_query ($query$dbConn);
$noticia mysql_fetch_assoc ($resultado);

// traemos los comentarios aprobados
$arrComentarios = array();
$query "SELECT comentarios.idComentario, comentarios.comentario, usuarios.usuario  
FROM `comentarios` 
INNER JOIN `usuarios` ON comentarios.idUsuario = usuarios.idUsuario 
WHERE comentarios.estado = 'apto' AND comentarios.idNoticia = " 
$_GET['idNoticia'] . 
ORDER BY comentarios.idComentario DESC"
;
$resultado mysql_query ($query$dbConn);
while ( 
$row mysql_fetch_assoc ($resultado)) {
    
array_push$arrComentarios,$row );
}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Nuestro Sonido</title>
    <link href="estilos.css" rel="stylesheet" type="text/css" />
</head>
<? include("http://www.nuestrosonido.com.ar/header.php");?>
<? 
include("http://www.nuestrosonido.com.ar/menu.php");?>
<? 
include("http://www.nuestrosonido.com.ar/sesion.php");?>
<body>
    <div class="contenedor">
    <div class="contenido">
    <h2><?php echo $noticia['titulo']; ?></h2>
    <hr />
    <blockquote><p>Publicado por <b><?php echo $noticia['usuario']; ?></b> en <i><?php echo $noticia['categoria']; ?></i></p>
    <blockquote><div><?php echo $noticia['cuerpo']; ?></div></blockquote></blockquote>
    
    <h2>Comentarios</h2>
    <hr />
    <div>
        <? foreach ($arrComentarios as $comentario) { ?>
        <p><blockquote>
            <b><? echo $comentario['usuario']; ?></b> dijo:<br />
            <i><? echo $comentario['comentario']; ?></i>
        </blockquote></p>
        <? ?>    
    </div>
    
    <div>
        <?php if ( !empty( $arrUsuario ) ) { ?>
        
            <form action="vernoticia.php?idNoticia=<?php echo $_GET['idNoticia']; ?>" method="post">
                <p>
                    <label for="comentario">Dejar un comentario</label><br />
                    <textarea rows="3" cols="50" name="comentario"></textarea>
                </p>
                <p>
                    <input name="submit" type="submit" value="Enviar" />
                </p>
            </form>
        
        <?php } else { ?>
            <p>Para dejar un comentario hay que ser un usuario registrado. <a href="registrar.php">Registrar</a> o <a href="ingresar.php">Ingresar</a></p>
        <?php ?>
    </div>
    </div>
    <div style="clear: both"></div>
    </div>
    </div>
</body>
<? include("http://www.nuestrosonido.com.ar/footer.php");?>
</html>
pagina verfecha.php la tabla de esta se llama "fechas"

Código PHP:
<?

// iniciamos session
session_start ();

// archivos necesarios
require_once 'admin/config.php';
require_once 
'admin/conexion.php';
require_once 
'admin/esUsuario.php';

// obtengo puntero de conexion con la db
$dbConn conectar();

// verificamos que este conectado el usuario
if ( !empty( $_SESSION['usuario'] ) && !empty($_SESSION['password']) ) {
    
$arrUsuario esUsuario$_SESSION['usuario'], $_SESSION['password'], $dbConn );        
}

if ( !empty(
$_POST['submit']) ) {
    
    if ( !empty(
$_POST['comentario']) )     $comentario     $_POST['comentario'];
    if ( !empty(
$_GET['idFecha']) )            $idFecha        $_GET['idFecha'];
    if ( !empty(
$arrUsuario['idUsuario']))    $idUsuario        $arrUsuario['idUsuario'];
    
    
// completamos la variable error si es necesario
    
if ( empty($comentario) )     $error['comentario']         = true;
    if ( empty(
$idFecha) )         $error['idFecha']             = true;
    if ( empty(
$idUsuario) )     $error['idUsuario']         = true;
    
    
// si no hay errores registramos al usuario
    
if ( empty($error) ) {
        
        
// inserto los datos de registro en la db
        
$query  "INSERT INTO `comentariosf` (comentario, idUsuario, idFecha) VALUES ('$comentario','$idUsuario','$idFecha')";
        
$result mysql_query($query$dbConn);
        
        
header'Location: verfecha.php?idFecha='.$idFecha );
        die;
        
    }
    
}

// traemos la noticia
$query "SELECT fechas.idFecha, fechas.titulo, fechas.descripcion, usuarios.usuario FROM `fechas` 
INNER JOIN `usuarios` ON usuarios.idUsuario = fechas.idUsuario 
WHERE fechas.idFecha = " 
$_GET['idFecha'] . " LIMIT 1";
$resultado mysql_query ($query$dbConn);
$fecha mysql_fetch_assoc ($resultado);

// traemos los comentarios aprobados
$arrComentariosf = array();
$query "SELECT comentariosf.idComentario, comentariosf.comentario, usuarios.usuario  
FROM `comentariosf` 
INNER JOIN `usuarios` ON comentariosf.idUsuario = usuarios.idUsuario 
WHERE comentariosf.estado = 'apto' AND comentariosf.idFecha = " 
$_GET['idFecha'] . 
ORDER BY comentariosf.idComentario DESC"
;
$resultado mysql_query ($query$dbConn);
while ( 
$row mysql_fetch_assoc ($resultado)) {
    
array_push$arrComentariosf,$row );
}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Nuestro Sonido</title>
    <link href="estilos.css" rel="stylesheet" type="text/css" />
</head>
<? include("http://www.nuestrosonido.com.ar/header.php");?>
<? 
include("http://www.nuestrosonido.com.ar/menu.php");?>
<? 
include("http://www.nuestrosonido.com.ar/sesion.php");?>
<body>
    <div class="contenedor">
    <div class="contenido">
    <h2><?php echo $fecha['titulo']; ?></h2>
    <hr />
    <blockquote><p>Publicado por <b><?php echo $fecha['usuario']; ?></b></p>
    <blockquote><div><?php echo $fecha['descripcion']; ?></div></blockquote></blockquote>
    <h2>Comentarios</h2>
    <hr />
    <div>
        <? foreach ( $arrComentariosf as $comentario ) { ?>
        <p><blockquote>
            <b><? echo $comentario['usuario']; ?></b> dijo:<br />
            <i><? echo $comentario['comentario']; ?></i>
        </blockquote></p>
        <? ?>    
    </div>
    
    <div>
        <?php if ( !empty( $arrUsuario ) ) { ?>
        
            <form action="verfecha.php?idFecha=<?php echo $_GET['idFecha']; ?>" method="post">
                <p>
                    <label for="comentario">Dejar un comentario</label><br />
                    <textarea rows="3" cols="50" name="comentario"></textarea>
                </p>
                <p>
                    <input name="submit" type="submit" value="Enviar" />
                </p>
            </form>
        
        <?php } else { ?>
            <p>Para dejar un comentario hay que ser un usuario registrado. <a href="registrar.php">Registrar</a> o <a href="ingresar.php">Ingresar</a></p>
        <?php ?>
    </div>
    </div>
    <div style="clear: both"></div>
    </div>
    </div>
</body>
<? include("http://www.nuestrosonido.com.ar/footer.php");?>
</html>
Muchas gracias por su atencion y espero que me puedan ayudar
si postee de una manera incorrecta algo solo me lo dicen y lo arreglo soy nuevo en este foro tengo que acostumbrarme :P
  #2 (permalink)  
Antiguo 10/05/2010, 23:06
 
Fecha de Ingreso: octubre-2008
Mensajes: 81
Antigüedad: 15 años, 6 meses
Puntos: 3
Respuesta: Problema con php y mysql

Hola, yo en tu lugar imprimiria la variable $query para ver q trae tu consulta, tal vez tu variable $_GET['idFecha'] no trae valor, tambien podria ser mmm, creo deberias cambiar de lugar tus tablas aqui:

Código PHP:
Ver original
  1. ON usuarios.idUsuario = fechas.idUsuario

asi:

Código PHP:
Ver original
  1. ON fechas.idUsuario = usuarios.idUsuario

Ya que en tu clausula from viene primero la tabla fechas, tal vez no sea eso, la verdad no he visto si causa error pues siempre las pongo ordenadas. Espero te sirva.

Etiquetas: mysql
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 20:45.