Ver Mensaje Individual
  #48 (permalink)  
Antiguo 21/01/2015, 05:37
Avatar de gnzsoloyo
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)