Foros del Web » Programando para Internet » PHP »

informacion sobre como relaciono una tabla con id usuarios

Estas en el tema de informacion sobre como relaciono una tabla con id usuarios en el foro de PHP en Foros del Web. gracias y resuelto el problema pero se mostran solo una imagen subida por el usuario loqueado pero las otras no, y no se como hacer ...

  #31 (permalink)  
Antiguo 06/01/2015, 07:33
 
Fecha de Ingreso: diciembre-2014
Mensajes: 27
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: informacion sobre como relaciono una tabla con id usuarios

gracias y resuelto el problema pero se mostran solo una imagen subida por el usuario loqueado pero las otras no, y no se como hacer una pequeña galeria de fotos privada para cada usuario
muchas gracia por las respuestas alguna idea, como relaciono la tabla datos imagenes con el usuario loqueado
gracias de verda
  #32 (permalink)  
Antiguo 06/01/2015, 07:55
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 3 meses
Puntos: 2658
Respuesta: informacion sobre como relaciono una tabla con id usuarios

Eso es algo que yo ya te había aclarado. El modelo que estabas planteando soportaba una sola imagen por cada usuario. Para que puedas cargar N imágenes de cada usuario la tabla de imagenes debe tener otra estructura y la PK debe ser diferente.

Por lo menos debe ser así:

Código MySQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS `datos imagenes` (
  2. `usuario_id` INT UNSIGNED NOT NULL,
  3. `ruta` varchar(100) NOT NULL,
  4. `descripcion` text,
  5. PRIMARY KEY (usuario_id, ruta)
De ese modo el mismo usuario debe poder ingresar N imagenes, pero todas en diferentes rutas.
Normalmente eso también está mal, porque lo que debería replciarse es la misma imagen en diferentes rutas, por lo que mejor sería:
Código MySQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS `datos imagenes` (
  2. `usuario_id` INT UNSIGNED NOT NULL,
  3. `ruta` varchar(100) NOT NULL,
  4. `archivo`  VARCHAR(100) NOT NULL,
  5. `descripcion` text,
  6. PRIMARY KEY (`usuario_id`, `archivo`)

En este caso guardarías el nombre del archivo en un campo y la ruta relativa del mismo en el otro. Es más eficiente.

También es conveniente que almacenes la fecha de subida, si quieres ordenarlas por ese dato:

Código MySQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS `datos imagenes` (
  2. `usuario_id` INT UNSIGNED NOT NULL,
  3. `ruta` varchar(100) NOT NULL,
  4. `archivo`  VARCHAR(100) NOT NULL,
  5. `descripcion` text,
  6. `fecha_alta`DATETIME NOT NULL
  7. PRIMARY KEY (`usuario_id`, `archivo`)
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #33 (permalink)  
Antiguo 06/01/2015, 21:32
 
Fecha de Ingreso: julio-2013
Ubicación: Durango, Dgo
Mensajes: 108
Antigüedad: 11 años, 7 meses
Puntos: 8
Respuesta: informacion sobre como relaciono una tabla con id usuarios

ok prueba eso que te indica gnzsoloyo borrando los datos de las tablas y haber pasa :)
  #34 (permalink)  
Antiguo 19/01/2015, 06:05
 
Fecha de Ingreso: diciembre-2014
Mensajes: 27
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: informacion sobre como relaciono una tabla con id usuarios

Cita:
Iniciado por matrixre9 Ver Mensaje
efectivamente los tablas las vas a ligar por medio del campo usuario_id

este campo si gusta en la tabla de los usuarios puede ser autoincrementable pero en la de las imágenes tiene que ser un campo no-autoincrmentable

ya que este campo en la tabla delas imágenes se va a llenar con el id del usuario suba la imagen y asi ya puedes realizar la consulta como te había explicado anteriormente
hola de nuevo y gracias por todasa las respuestas
es que no puedo logralo si sube solo una imagen
  #35 (permalink)  
Antiguo 19/01/2015, 06:30
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 3 meses
Puntos: 2658
Respuesta: informacion sobre como relaciono una tabla con id usuarios

Cita:
Iniciado por flad77 Ver Mensaje
hola de nuevo y gracias por todasa las respuestas
es que no puedo logralo si sube solo una imagen
El modelo que te planteé soporta que subas una imagen, mil imágenes o ninguna.
Obviamente el problema que tienes no está en la estructura de datos, por lo que tendrás que postear ael código PHP de lo que estás haciendo.
Con decir "no puedo lograrlo" no aportas información suficiente, y dado que no poseemos los poderes de Jean Grey o el Profesor X, sólo podemos ayudarte si aportas código...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 19/01/2015 a las 06:36
  #36 (permalink)  
Antiguo 19/01/2015, 10:41
 
Fecha de Ingreso: diciembre-2014
Mensajes: 27
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: informacion sobre como relaciono una tabla con id usuarios

hola muchas gracias por todo,ahora enseño los codigos y las tablas

estas son las tablas

registro de usuarios

Código PHP:
Ver original
  1. CREATE TABLE IF NOT EXISTS `registro usuarios` (
  2.   `usuario_id` int(11) NOT NULL AUTO_INCREMENT,
  3.   `usuario_nombre` varchar(15) NOT NULL DEFAULT '',
  4.   `usuario_clave` varchar(32) NOT NULL DEFAULT '',
  5.   `usuario_email` varchar(50) NOT NULL DEFAULT '',
  6.   `usuario_freg` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  7.   `tipo` enum('2','1') NOT NULL DEFAULT '2',
  8.   PRIMARY KEY (`usuario_id`)
  9. ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

* esta es la tabla datos de imagenes

Código PHP:
Ver original
  1. CREATE TABLE IF NOT EXISTS `datos imagenes` (
  2. `usuario_id` int(11) NOT NULL AUTO_INCREMENT,
  3. `ruta` varchar(100) NOT NULL,
  4. `descripcion` text,
  5. PRIMARY KEY (`usuario_id`)
  6. )ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

ahoar relaciono (usuario_id) de la tabla de datos imagenes con (usuario_id) de tabla de registro de usuarios, y despues hago una consulta que esta

$consulta=mysql_query("SELECT * FROM datos WHERE usuario_id='".$_GET['id']."'") or die(mysql_error());
while($filas=mysql_fetch_array($consulta)){
$ruta=$filas['ruta'];
$desc=$filas['descripcion'];


?>

<?php echo $desc;?><br>
<img src="<?php echo $ruta; ?>" width="180" height="214"><br>

<?php }?>


* y la consulta se muestra una imagen y ya no puedo subir mas imagenes , pero logre que suban mas imagenes pero cada vez las imagens se guarden con un id deferente por eso las imagenes no se ven todas


este es que reciba las imagenes y la sube a una carpeta y a base de datos

Código PHP:
Ver original
  1. <?php
  2. /* print_r($_FILES);
  3. echo'<br>';
  4. echo 'nombre de la imagen: ';
  5. print_r($_FILES['imagen']['name']);
  6.  
  7. echo'<br>';
  8. echo 'tipo de la imagen: ';
  9. print_r($_FILES['imagen']['type']);
  10.  
  11. echo'<br>';
  12. echo 'ruta temporal de la imagen: ';
  13. print_r($_FILES['imagen']['tmp_name']);
  14.  */
  15. $conexion=mysql_connect('localhost','root','7777777') or die('No hay conexión a la base de datos');
  16. $db=mysql_select_db('mundo',$conexion)or die('no existe la base de datos.');
  17.  
  18. $rutaEnServidor='imagenes';
  19. $rutaTemporal=$_FILES['imagen']['tmp_name'];
  20. $nombreImagen=$_FILES['imagen']['name'];
  21. $rutaDestino=$rutaEnServidor.'/'.$nombreImagen;
  22. move_uploaded_file($rutaTemporal,$rutaDestino);
  23.  
  24. $desc=$_POST['descripcion'];
  25.  
  26. $sql="INSERT INTO datos (ruta,descripcion) values('".$rutaDestino."','".$desc."')";
  27. $res=mysql_query($sql,$conexion);
  28.  
  29. if ($res){
  30.     echo 'inserción con exito';
  31. }else{
  32.     echo 'no se puedo insertar';
  33. }


el formulario es este




Código PHP:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Documento sin título</title>
  6. </head>
  7. <body>
  8. <form id="form1" name="form1" method="post" action="recibir.php" enctype="multipart/form-data">
  9.   <p>Seleccione la Imagen:
  10.     <input type="file" name="imagen"/>
  11.   </p>
  12.   <p>Descripción:
  13.     <input type="text" name="descripcion" id="descripcion" />
  14.  
  15.      
  16.  
  17.     <input type="submit" name="Aceptar" id="Aceptar" value="Aceptar" />
  18.   </p>
  19.   <p>&nbsp;</p>
  20. </form>
  21. </body>
  22. </html>
  23.  
  24. <?php

gracias se alguien puede ayudar
  #37 (permalink)  
Antiguo 19/01/2015, 12:03
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 3 meses
Puntos: 2658
Respuesta: informacion sobre como relaciono una tabla con id usuarios

Voy a tomar lo que acabas de postear como un desliz involuntario, porque de lo contrario debería pensar que estas ignorando intencionalmente todo lo que te postee...

El modelo de datos que estás poniendo es exactamente el mismo que mencionaste muy al principio del hilo, y del que ya te dije que NO PUEDE SOPORTAR MAS DE UNA IMAGEN POR USUARIO...

Dime si vas a tomar en cuenta lo que analizo y te sugiero en el post #32 de este hilo, así no desperdicio tiempo en tratar de explicarte por qué no puedes lograr lo que deseas con tablas tan mal diseñadas...

__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #38 (permalink)  
Antiguo 19/01/2015, 12:33
 
Fecha de Ingreso: diciembre-2014
Mensajes: 27
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: informacion sobre como relaciono una tabla con id usuarios

perdon por las molestias voy a hacerlo otra vez
me sale este error cuando quiero hacer una relacion con columna archivo de datos de imagenes y columna archivo de registro de usuarios

Error creando llaves extranjeras (foreign keys). Revise los tipos de datos : archivo
y ahora tengo que hacen insertar un valor a archivo o no

esta son mis tablas como





Código PHP:
Ver original
  1. CREATE TABLE IF NOT EXISTS `registro usuarios` (
  2.   `usuario_id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
  3.   `usuario_nombre` varchar(15) NOT NULL,
  4.   `usuario_clave` varchar(50) NOT NULL,
  5.   `usuario_email` varchar(50) NOT NULL DEFAULT '',
  6.   `usuario_freg` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  7.   `tipo` enum('2','1') NOT NULL DEFAULT '2',
  8.   `archivo`  VARCHAR(100) NOT NULL,
  9.   `twitter` varchar(250) NOT NULL,
  10.   `avatar` varchar(500) NOT NULL,
  11.   PRIMARY KEY (`usuario_id`)
  12. ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
  13.  
  14.  
  15.  
  16.  
  17. CREATE TABLE IF NOT EXISTS `datos imagenes` (
  18. `usuario_id` INT UNSIGNED NOT NULL,
  19. `ruta` varchar(100) NOT NULL,
  20. `archivo`  VARCHAR(100) NOT NULL,
  21. `descripcion` text,
  22. PRIMARY KEY (`usuario_id`, `archivo`)
  23. )ENGINE=InnoDB DEFAULT CHARSET=latin1 ;

Última edición por flad77; 19/01/2015 a las 12:54
  #39 (permalink)  
Antiguo 20/01/2015, 00:59
 
Fecha de Ingreso: diciembre-2014
Mensajes: 27
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: informacion sobre como relaciono una tabla con id usuarios

HOLA ahora las imagenes subidas se registran con un valor (o) en todas las imagenes por eso no se muestran pero cuando cambio el valor a (1) de todas las imagens se muestran bien como hago para que suban con el mismo valor ,y la columna archivo se queda vacia y con ella hago la relacion.
gracias

tabla de registro usuarios


usuario_id usuario_nombre usuario_clave archivo
1 mod 499d7b701668
2 mama 798709807
3 gaga 698d58







usuario_id ruta archivo descripcion
0 imagenes/Oryx Antelope.jpg arbol verano
0 imagenes/Tree.jpg planta
0 imagenes/Humpback Whale.jpg plant
  #40 (permalink)  
Antiguo 20/01/2015, 04:18
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 3 meses
Puntos: 2658
Respuesta: informacion sobre como relaciono una tabla con id usuarios

En primer lugar, no uses espacios en blanco en los nombres de los objetos de base (tablas, bases, columnas, etc.) Tienden a generar errores.
Código SQL:
Ver original
  1. DROP TABLE IF EXISTS `registro usuarios`;
  2. CREATE TABLE IF NOT EXISTS `registro_usuarios` (
  3.   `usuario_id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
  4.   `usuario_nombre` VARCHAR(15) NOT NULL,
  5.   `usuario_clave` VARCHAR(50) NOT NULL,
  6.   `usuario_email` VARCHAR(50) NOT NULL DEFAULT '',
  7.   `usuario_freg` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
  8.   `tipo` ENUM('2','1') NOT NULL DEFAULT '2',
  9.   `archivo`  VARCHAR(100) NOT NULL,
  10.   `twitter` VARCHAR(250) NOT NULL,
  11.   `avatar` VARCHAR(500) NOT NULL,
  12.   PRIMARY KEY (`usuario_id`)
  13. ) ENGINE=INNODB DEFAULT CHARSET=LATIN1;
  14.  
  15.  
  16.  DROP TABLE IF EXISTS `datos imagenes`;
  17.  
  18. CREATE TABLE IF NOT EXISTS `datos imagenes` (
  19. `usuario_id` INT UNSIGNED NOT NULL,
  20. `ruta` VARCHAR(100) NOT NULL,
  21. `archivo`  VARCHAR(100) NOT NULL,
  22. `descripcion` TEXT,
  23. PRIMARY KEY (`usuario_id`, `archivo`),
  24. FOREIGN KEY (usuario_id) REFERENCES registro_usuarios(usuario_id)
  25. )ENGINE=INNODB DEFAULT CHARSET=LATIN1 ;

En segundo lugar, no te olvides de controlar los caracteres escape (\) usados como parte de las rutas. Generan errores en las inserciones en SQL, porque SQL los interpreta como eso: Escape, produciendo errores en la cadena.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #41 (permalink)  
Antiguo 20/01/2015, 11:30
 
Fecha de Ingreso: diciembre-2014
Mensajes: 27
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: informacion sobre como relaciono una tabla con id usuarios

hola de nuevo con esta tabla no me deja insertar imagenes

Código PHP:
Ver original
  1. DROP TABLE IF EXISTS `datos imagenes`;
  2.  
  3. CREATE TABLE IF NOT EXISTS `datos imagenes` (
  4. `usuario_id` INT UNSIGNED NOT NULL,
  5. `ruta` VARCHAR(100) NOT NULL,
  6. `archivo`  VARCHAR(100) NOT NULL,
  7. `descripcion` TEXT,
  8. PRIMARY KEY (`usuario_id`, `archivo`),
  9. FOREIGN KEY (usuario_id) REFERENCES registro_usuarios(usuario_id)
  10. )ENGINE=INNODB DEFAULT CHARSET=LATIN1 ;
  #42 (permalink)  
Antiguo 20/01/2015, 12:57
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 3 meses
Puntos: 2658
Respuesta: informacion sobre como relaciono una tabla con id usuarios

Cita:
hola de nuevo con esta tabla no me deja insertar imagenes
¿Te das cuenta que "no me deja" no es información suficiente?

¿Muestra algun mensaje de error? ¿Algo?

¿Tuviste en cuenta que al existir dependencia, debe forzosamente insertarse primero el usuario, luego recuperar el ID de ese usuario (autogenerado porque es AI), y con ESE id juto con la ruta recién puedes insertar el registro en la tabla de imagenes?

Una FK genera una dependencia funcional estricta. No te dejará insertar el registro a menos que el valor de la FK exista previamente en la tabla referida.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #43 (permalink)  
Antiguo 20/01/2015, 13:04
 
Fecha de Ingreso: diciembre-2014
Mensajes: 27
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: informacion sobre como relaciono una tabla con id usuarios

no me muestra ningun error solo me imprimi que no se puede insertar a la tabla pero a la carpeta si
gracias
  #44 (permalink)  
Antiguo 20/01/2015, 13:26
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 3 meses
Puntos: 2658
Respuesta: informacion sobre como relaciono una tabla con id usuarios

¿Cómo estás haciendo la inserción?

Postea el codigo completo..., porque si estás hadienco algo como esto, que posteante antes, está MAL:
Código PHP:
Ver original
  1. $res=mysql_query($sql,$conexion);
  2.  
  3. if ($res){
  4.     echo 'inserción con exito';
  5. }else{
  6.     echo 'no se puedo insertar';
  7. }
Estaría MAL porque tu mismo estás escondiendo los erroes devueltos por MySQL, por lo que en todo caso no lo estás programando bien.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #45 (permalink)  
Antiguo 20/01/2015, 13:30
 
Fecha de Ingreso: diciembre-2014
Mensajes: 27
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: informacion sobre como relaciono una tabla con id usuarios

gracias por responderme
este es el codigo


este es el formulario

Código PHP:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Documento sin título</title>
  6. </head>
  7. <body>
  8. <form id="form1" name="form1" method="post" action="recibir.php" enctype="multipart/form-data">
  9.   <p>Seleccione la Imagen:
  10.     <input type="file" name="imagen"/>
  11.   </p>
  12.   <p>Descripción:
  13.     <input type="text" name="descripcion" id="descripcion" />
  14.     <input type="submit" name="Aceptar" id="Aceptar" value="Aceptar" />
  15.   </p>
  16.   <p>&nbsp;</p>
  17. </form>
  18. </body>
  19. </html>

este el recibir.php
Código HTML:
Ver original
  1. <?php
  2. /* print_r($_FILES);
  3. echo'<br>';
  4. echo 'nombre de la imagen: ';
  5. print_r($_FILES['imagen']['name']);
  6.  
  7. echo'<br>';
  8. echo 'tipo de la imagen: ';
  9. print_r($_FILES['imagen']['type']);
  10.  
  11. echo'<br>';
  12. echo 'ruta temporal de la imagen: ';
  13. print_r($_FILES['imagen']['tmp_name']);
  14.  */
  15. $conexion=mysql_connect('localhost','root','7777777') or die('No hay conexión a la base de datos');
  16. $db=mysql_select_db('mourad',$conexion)or die('no existe la base de datos.');
  17.  
  18. $rutaEnServidor='imagenes';
  19. $rutaTemporal=$_FILES['imagen']['tmp_name'];
  20. $nombreImagen=$_FILES['imagen']['name'];
  21. $rutaDestino=$rutaEnServidor.'/'.$nombreImagen;
  22. move_uploaded_file($rutaTemporal,$rutaDestino);
  23.  
  24. $desc=$_POST['descripcion'];
  25.  
  26. $sql="INSERT INTO datos (ruta,descripcion) values('".$rutaDestino."','".$desc."')";
  27. $res=mysql_query($sql,$conexion);
  28.  
  29. if ($res){
  30.     echo 'inserción con exito';
  31. }else{
  32.     echo 'no se puedo insertar';
  33. }
  34.  
  35.  
  36.  
  37.  
  38.  
  39. ?>
  #46 (permalink)  
Antiguo 20/01/2015, 13:51
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 3 meses
Puntos: 2658
Respuesta: informacion sobre como relaciono una tabla con id usuarios

Ok...
Con lo que posteas pareciera que modificaste las tablas, pero jamás modificaste el código de tu aplicación para que use las tablas como están ahora...
¿Donde bsucas el ID del usuario?
¿Donde lo recuperas si lo insertas nuevo?
¿En qué parte tomas ese ID y lo pasas al INSERT de la imagen?

¿Luego de modificar las tablas, ¿hiciste alguna corrección en tu aplicación para sincroniozar esos cambios, o lo dejaste como estaba?

Supongo que no pensarás que tu programa en PHP va a hacer las cosas por si mismo. Si no lo modificas, simplemente no va a servir.

Verifica los cambios que tienes que hacer en tus scripts, hazlos, y por favor pon un buen control de errores para recuperar los mensajes de MySQL.
Puedes leer el manual de PHP en linea para ver cómo se hace.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #47 (permalink)  
Antiguo 21/01/2015, 00:20
 
Fecha de Ingreso: diciembre-2014
Mensajes: 27
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: informacion sobre como relaciono una tabla con id usuarios

hola
una pregunta tengo que insertar el usuario_id , cuando inserto las imagenes en la tabla datosimagenes

y busco y lo recupero el id con esto

Código PHP:
Ver original
  1. $consulta=mysql_query("SELECT * FROM datos WHERE usuario_id='".$_GET['id']."'") or die(mysql_error());
  2. while($filas=mysql_fetch_array($consulta)){
  3.     $ruta=$filas['ruta'];
  4.     $desc=$filas['descripcion'];
  5.  
  6.  
  7. ?>
  8.  
  9. <?php echo $desc;?><br>
  10. <img src="<?php echo $ruta; ?>" width="180" height="214"><br>
  11.  
  12. <?php }?>
  #48 (permalink)  
Antiguo 21/01/2015, 05:37
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 3 meses
Puntos: 2658
Respuesta: informacion sobre como relaciono una tabla con id usuarios

Lo que planteas está incompleto y mal programado, porque si vas a insertar las imágenes en la tabla datos, es obvio que el ID del usuario aún no existe, y de todos modos si existiese el id_user alli, ¿para qué quieres leer las rutas y nombre de archivo, si lo que debes poner es NUEVO?
La verdad me cuesta un poco entender por qué razonas asi...

Vamos a ver el tema por partes:
1) Recuperas los datos a insertar del usuario que recibes de la interfaz (la vista o forumario de la web):
Código PHP:
Ver original
  1. $iduser=$_POST['iduser'];
sin ese dato no puedes hacer nada.

2) Recuperas los datos del archivo:
Código PHP:
Ver original
  1. $desc=$_POST['descripcion'];
  2. $rutaEnServidor='imagenes';
  3. $rutaTemporal=$_FILES['imagen']['tmp_name'];
  4. $nombreImagen=$_FILES['imagen']['name'];
  5. $rutaDestino=$rutaEnServidor.'/'.$nombreImagen;
  6. move_uploaded_file($rutaTemporal,$rutaDestino);

3) POnes todos los datos obligatorios:
Código PHP:
Ver original
  1. $sql = "INSERT INTO datos (usuario_id, ruta, archivo, descripcion) ";
  2. $sql .= "VALUES($iduser, '$rutaDestino', '$nombreImagen', '$desc')";
  3. $res = mysql_query($sql,$conexion);
4) Por sobre todas las cosas, verificas correctamente lo que pasó en ese INSERT:
Código PHP:
Ver original
  1. if ($res){
  2.     echo 'La imagen se guardó exitosamente.';
  3. }else{
  4.     // NUNCA pongas un echo que diga cualquier cosa. PON LO QUE DEVUELVE LA BASE....
  5.     echo 'Error al insertar los datos en la base: '.mysql_error();
  6. }
Este modelo es apra insertar las imagenes una a una, no para poner varias en un solo paso. Si las imagenes se reciben como un array, entonces el ciclo de toma de nombre, movimietno e inserción de las imagenes debe hacerse si dentro de un for o un while.
¿Se entiende?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #49 (permalink)  
Antiguo 21/01/2015, 08:47
 
Fecha de Ingreso: diciembre-2014
Mensajes: 27
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: informacion sobre como relaciono una tabla con id usuarios

hola si lo quiero es insertar imagenes una a una, no varias a la vez si puedes ayudar me en esto
si quieres voy poniendo los codigos poco a poco ,y me ayudas y me aconsejas como lo hago
me hecho un lio conmigo mismo,perdona por las molestia,solamente quiero que el usuario loqueado desde su perfil que tene un form para subir imagenes una una tengo las tablas registro usuarios y datos imagenes fuccionan bien y no se como lo hago
puedes explicarme poco a poco lo pasos
mil gracias

Etiquetas: informacion, registro, tabla, 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 11:20.