Foros del Web » Programando para Internet » PHP »

Problema con consulta SQL

Estas en el tema de Problema con consulta SQL en el foro de PHP en Foros del Web. Hola, tengo dos tablas, una con noticias y otra con las modificaciones: wiki contiene: id_noticia, usuario, texto .... wiki_mod contiene: id_noticia, usuario_modifica, fecha Cuando actualizo ...
  #1 (permalink)  
Antiguo 08/09/2006, 10:01
Avatar de kennyhp  
Fecha de Ingreso: julio-2006
Mensajes: 370
Antigüedad: 17 años, 9 meses
Puntos: 5
Problema con consulta SQL

Hola, tengo dos tablas, una con noticias y otra con las modificaciones:

wiki contiene: id_noticia, usuario, texto ....
wiki_mod contiene: id_noticia, usuario_modifica, fecha

Cuando actualizo una noticia actualizo los datos en id_noticia y ademas agrego los datos a noticias_mod, poniendole la misma id_noticia, de esta forma quiero crear un registro de modificaciones.

Lo que me pasa es que no se como recoger los datos de noticias_mod...
Hago lo siguiente:
Código PHP:
<?php 
    
    $sql
=mysql_query("SELECT * FROM wiki_mod");
    
    while(
$row=mysql_fetch_array($sql))
    {
        
$articulo_mod=$row['id_articulo'];
        
$datos_articulo=mysql_fetch_array("SELECT titulo FROM wiki WHERE id_articulo==$articulo_mod"); 
        
$titulo=$datos_articulo['titulo'];
        
$fecha_ultima=$datos_articulo['u_fecha_modificacion'];
        echo 
'·';
        echo 
"$titulo";
        echo 
'última modificación: ';
        echo 
"$fecha_ultima";
        echo 
'modificado por: ';
        echo 
"$usuario_modificacion";
        echo 
' | ';
        echo 
"<a href=\"portada.php?accion=ver&palabra=$titulo\">VER</a>";
        echo 
"<br>";
    }
    
    
?>
pero me genera error... lo que quiero es hacer una pagina con el listado de las últimas modificaciones, pero mostrando el título de la noticia, que se almacena en noticias, el titulo lo se por el id que es el mismo en las dos tablas, pero claro lo que quiero listar es de noticias_mod
No se recuperar el título de la noticia sabiendo la id a partir de noticias_mod
  #2 (permalink)  
Antiguo 08/09/2006, 10:54
Avatar de emilio21  
Fecha de Ingreso: enero-2005
Ubicación: Venezuela
Mensajes: 320
Antigüedad: 19 años, 3 meses
Puntos: 1
Re:

en tu consulta SELECT, quita le el '==', y dejale solo uno, te queda asi:

"SELECT titulo FROM wiki WHERE id_articulo=$articulo_mod"

espero te sirva!!
__________________
¡Estamos para Enseñar y Aprender!
  #3 (permalink)  
Antiguo 08/09/2006, 10:58
Avatar de kennyhp  
Fecha de Ingreso: julio-2006
Mensajes: 370
Antigüedad: 17 años, 9 meses
Puntos: 5
Pues hace lo mismo...
  #4 (permalink)  
Antiguo 08/09/2006, 11:00
Avatar de emilio21  
Fecha de Ingreso: enero-2005
Ubicación: Venezuela
Mensajes: 320
Antigüedad: 19 años, 3 meses
Puntos: 1
Re:

¿el campo id_articulo lo tienes como INT?
__________________
¡Estamos para Enseñar y Aprender!
  #5 (permalink)  
Antiguo 08/09/2006, 11:10
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
$datos_articulo=mysql_fetch_array("SELECT titulo FROM wiki WHERE id_articulo==$articulo_mod");
Eso no es correcto !!! .. Ni la sentencia SQL con el == ni ejecutar una sentencia SQL con mysql_fetch_array() .. Las sentencias SQL se ejecutan con mysql_query()

No sé que quieres hacer realmente .. pero existen las "sub-consultas" y también en SQL los "JOIN" para "unir el resultado" de várias tablas en "un resultado" y así accederlo como una entidad sólo.

Si explicases el "modelo de datos" que tienes: tu tabla "wiki y wiki_mod" junto con la relación que guardan ambas (la clave foránea FK) .. sería lo ideal para que te compongan la sentencia SQL más adecuada.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 08/09/2006, 11:14
Avatar de emilio21  
Fecha de Ingreso: enero-2005
Ubicación: Venezuela
Mensajes: 320
Antigüedad: 19 años, 3 meses
Puntos: 1
Re:

amigo verifica tu codigo y aclara tus conceptos sobre los comandos de mysql...

mysql_query en vez de mysql_fetch_array
__________________
¡Estamos para Enseñar y Aprender!
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 02:25.