Foros del Web » Programando para Internet » PHP »

introducir datos en tablas relacionadas

Estas en el tema de introducir datos en tablas relacionadas en el foro de PHP en Foros del Web. hola amigos de fors web ...necesit de su ayuda... tengo dos tablas relacionadas archivos y catalogo de usuarios CREATE TABLE usuarios( id_user int(11) NOT NULL ...
  #1 (permalink)  
Antiguo 12/06/2009, 12:03
 
Fecha de Ingreso: marzo-2009
Mensajes: 63
Antigüedad: 15 años, 1 mes
Puntos: 0
introducir datos en tablas relacionadas

hola amigos de fors web ...necesit de su ayuda...
tengo dos tablas relacionadas archivos y catalogo de usuarios

CREATE TABLE usuarios(
id_user int(11) NOT NULL auto_increment,
login char(15) default NULL,
password` char(10) default NULL,
alias varchar(10) default NULL,
tipo_user varchar(16) default NULL,
PRIMARY KEY (`id_user`)
);

CREATE TABLE archivos (
id_file int(11) NOT NULL auto_increment,
id_user int(11) NOT NULL,
nom_file varchar(120) NOT NULL,
descrip_file varchar(250) default NULL,
ruta_file varchar(120) NOT NULL,
tipo_file varchar(65) NOT NULL,
size_file int(200) NOT NULL,
PRIMARY KEY (id_file,id_user),
KEY `id_user (id_user)
);

al subir un archivo le digo que lo suba a la carpeta creada para cada usuario; pero en el insert como le indico que sera de x usuarios de la tabla de usuarios?
  #2 (permalink)  
Antiguo 12/06/2009, 12:10
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Respuesta: introducir datos en tablas relacionadas

Debes conocer el id_user que posee el usuario para facilitárselo a la consulta de insercción ya que la tabla archivos lo necesita por poseer un campo id_user.

Como averiguar el id_user pues de las siguientes formas:

- Si almacenaste el id_user en alguna variable de sesión despues de que el usuario se logase en la aplicación.

- Realizar una consulta a la base de datos antes de hacer la insercción en la tabla archivos.

Saludos!
  #3 (permalink)  
Antiguo 12/06/2009, 12:19
 
Fecha de Ingreso: marzo-2009
Mensajes: 63
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: introducir datos en tablas relacionadas

hola gracias por responder...
el usurio lo tengo logeado... pero no con la id_user si no con el nobmre de usuario; Por lo que entonces tendria que hacer un select anter de insertar?
  #4 (permalink)  
Antiguo 12/06/2009, 12:23
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Respuesta: introducir datos en tablas relacionadas

Si, o almacenar en la sesion del usuario el id_user para así tenerlo disponeble para esta insercción o futuras consultas.

Saludos!
  #5 (permalink)  
Antiguo 12/06/2009, 12:30
 
Fecha de Ingreso: marzo-2009
Mensajes: 63
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: introducir datos en tablas relacionadas

a ver...
entonces realizo un select
$query="SELECT * FROM usuarios";
de donde extraigo id_user ese resultado ¿como lo manejo para poder realizar la inseción
de los archivos? de ante mano gracias por tu ayuda...
  #6 (permalink)  
Antiguo 12/06/2009, 12:33
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Respuesta: introducir datos en tablas relacionadas

Esa consulta te devolverá todos los registros de la tabla usuarios, así que no te vale. Has de hacer una consulta que solo te devuelva el id_user del usuario que está logado.
  #7 (permalink)  
Antiguo 12/06/2009, 12:40
 
Fecha de Ingreso: marzo-2009
Mensajes: 63
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: introducir datos en tablas relacionadas

algo asi...

$query="SELECT * FROM $SESSION["login"]";
esto me da el registro de ese usuario .... y su id_user...
  #8 (permalink)  
Antiguo 12/06/2009, 12:42
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Respuesta: introducir datos en tablas relacionadas

Despues de ver la query que propones observo que no te desenvuelves muy bien con SQL, te recomiendo que recurras al foro de bases de datos para que te ayuden a crear la consulta SQL que necesites, ya que en el foro de PHP no se resuelven este tipo de cuestiones.

La otra opción es documentarte un poco sobre SQL buscando por la web.

Saludos!
  #9 (permalink)  
Antiguo 12/06/2009, 12:48
 
Fecha de Ingreso: marzo-2009
Mensajes: 63
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: introducir datos en tablas relacionadas

bueno.. ok ...
pero una ves que tengo bien la cosulta como manejo el id_user para la insercion .... será insert ... where id_user="resultado de cinsulta"???

grax x tu ayuda friend
  #10 (permalink)  
Antiguo 12/06/2009, 12:51
 
Fecha de Ingreso: marzo-2009
Mensajes: 63
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: introducir datos en tablas relacionadas

ok..ok asigo la sesion a una variable y en base a esa variable hago mi consulta...???
  #11 (permalink)  
Antiguo 12/06/2009, 12:54
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Respuesta: introducir datos en tablas relacionadas

En los INSERT no se puede usar la claúsula WHERE ya que el registro no existe aún ya que es en ese momento cuando lo estás creando ;)

Lo que debes hacer es meter ese id_user en el registro.

Tu tabla es así
Código PHP:
id_file id_user nom_file descrip_file ruta_file tipo_file size_file 
Cuando haces un insert lo que estás haciendo es rellenando esos campos para una fila.

Ejemplo
Código PHP:
id_file id_user nom_file descrip_file     ruta_file tipo_file size_file |
|    
113 |      20    pepe       Lorem Ipsum  | /upload/ | jpeg      512        
Por eso te decía al principio que necesitabas el id_user ya que esta tabla requiere ese campo para poder relacionar este archivo con un usuarios concreto.


Saludos!
  #12 (permalink)  
Antiguo 12/06/2009, 13:07
 
Fecha de Ingreso: marzo-2009
Mensajes: 63
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: introducir datos en tablas relacionadas

ok supongamos que ya existe el registo 20 del usuario al momento de insertar o subir el archivo ¿como lo relaciono ? .. es donde estoy perdido grax friend
  #13 (permalink)  
Antiguo 12/06/2009, 13:10
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Respuesta: introducir datos en tablas relacionadas

- Los usuarios entiendo que se pueden logar en la pagina no?
- Cuando se loguean en la página me imagino que realizas una consulta a la bbdd para verificar que el username y password son correctos.
- Pues justo en ese punto aprovecha y obtenen el id_user para almacenarlo por ejemplo en la sesion del usuario, así lo tendrás disponible para futuras consultas como es tu caso.

PD: Me tengo que ir así que no podré resolverte mas consultas, sorry.

Saludos!
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:54.