Foros del Web » Programando para Internet » PHP »

Obtiendo datos de DB y pasar a Array

Estas en el tema de Obtiendo datos de DB y pasar a Array en el foro de PHP en Foros del Web. Que tal PHPeros y foreros en general. Resulta que entre una amiga y yo estamos programando una aplicación en PHP y MYSQL, entonces tenemos varias ...
  #1 (permalink)  
Antiguo 28/11/2003, 23:50
Avatar de cubis  
Fecha de Ingreso: abril-2002
Ubicación: Medellín
Mensajes: 1.040
Antigüedad: 15 años, 7 meses
Puntos: 2
Obtiendo datos de DB y pasar a Array

Que tal PHPeros y foreros en general.

Resulta que entre una amiga y yo estamos programando una aplicación en PHP y MYSQL, entonces tenemos varias tablas y algunas de esas tablas están relacionadas.

Entonces pasa lo siguiente:

Primero definamos las tablas, es decir las tablas son así:

Artículos
-------------------------------------------------------------------------
id_articulo id_autor título artículo descripción fecha |
------------------------------------------------------------------------- |

Autores
---------------------------------------------------------
id_autor nombre email url país sobre |
-------------------------------------------------------- |

Entonces, nosotros estamos trabajando con claves foraneas, es decir en este caso el va a tomar el autor del artículo de la tabla Autores, lo que más concretamente va tomar es el ID del Autor (Esto lo hace automaticamente la clave foranea), pero hay viene el problema, yo no quiero que me mueste el ID del Autor, sino que el (en PHP Obviamente) me creé un array donde y que yo pueda extraer los demás datos del autor, el nombre, la URL, el país etc y no solo el ID... espero me entienda...

Espero me hayan entenido y me ayuden.

Gracias.
__________________
[color=gray][size=1]Usuario Registrado de Linux #315639

Última edición por cubis; 28/11/2003 a las 23:53
  #2 (permalink)  
Antiguo 29/11/2003, 01:07
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
Utilizando el JOIN del SQL de Mysql. Así
Código PHP:
$sql "SELECT Autores.* FROM Autores LEFT JOIN Articulos ON Articulos.id_autor = Autores.id_autor WHERE Articulos.id_articulo = '$id_articulo'";
$result mysql_query($sql);
$row mysql_fetch_array($result);
//A partir de aquí quedan disponible el aray asociativo $row
//con el valor de los campos de la tabla.
//O sea que no necesitas "guardarlos" en un array, pues el 
//resultado de la función ya te devuelve un array
//Por ejemplo:
echo $row['id_autor'];
echo 
$row['nombre'];
echo 
$row['email'];
echo 
$row['url'];
echo 
$row['pais'];
echo 
$row['sobre']; 
Espero que te sirva. (Y por ahí me daré una vuelta por el foro de XML pa ver si aprendo de ti un poco)

Saludos
  #3 (permalink)  
Antiguo 29/11/2003, 01:09
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
Ah.. me olvidaba aclarar algo que puede ser obvio (pero no siempre)...
El último elemento de la línea sql es $id_ariculo. Yo he supuesto que es ese valor con el que inicias la búsqueda. O sea que hay que definirlo antes.

Saludos
  #4 (permalink)  
Antiguo 29/11/2003, 09:54
Avatar de cubis  
Fecha de Ingreso: abril-2002
Ubicación: Medellín
Mensajes: 1.040
Antigüedad: 15 años, 7 meses
Puntos: 2
Tienes razón jpinedo no recordaba la función mysql_fetch_array, tengo que estudiar los JOIN para esto.

Muchas gracias y creo que me queda resuelta.

PD: Mucha suerte con XML y ojalá te sirvan de algo mis artículos, visita las FAQ's.
__________________
[color=gray][size=1]Usuario Registrado de Linux #315639
  #5 (permalink)  
Antiguo 29/11/2003, 11:31
Avatar de cubis  
Fecha de Ingreso: abril-2002
Ubicación: Medellín
Mensajes: 1.040
Antigüedad: 15 años, 7 meses
Puntos: 2
Oye.. que es y que hacen las uniones tipo Left Join?
__________________
[color=gray][size=1]Usuario Registrado de Linux #315639
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 11:49.