Foros del Web » Programando para Internet » PHP »

vincular las imagenes subidas con el id

Estas en el tema de vincular las imagenes subidas con el id en el foro de PHP en Foros del Web. hola a todos alguien puede echarme una ayuda en esto tengo una base de datos que esta en appserv, y una tabla de usuarios y ...
  #1 (permalink)  
Antiguo 07/07/2015, 07:05
 
Fecha de Ingreso: julio-2015
Mensajes: 10
Antigüedad: 8 años, 9 meses
Puntos: 0
vincular las imagenes subidas con el id

hola a todos alguien puede echarme una ayuda en esto
tengo una base de datos que esta en appserv, y una tabla de usuarios y otra de imagenes, la tabla de registro de usuarios fucciona bien y la tabla de imagenes tambien
me pregunta es como hago para que el usuario loqueado suba imagenes que aparecen en su perfil ( pagina privada) y relacionar todas las imagenes que suba con el(su id)

estas son mis tablas

usuarios

Código PHP:
Ver original
  1. CREATE TABLE IF NOT EXISTS `usuarios` (
  2.   `usuario_id` int(4) 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 ;


tabla imagenes


Código PHP:
Ver original
  1. CREATE TABLE IF NOT EXISTS `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 ;


gracias
  #2 (permalink)  
Antiguo 07/07/2015, 08:49
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Respuesta: vincular las imagenes subidas con el id

Tienes que quitar el autoincrement de la columna usuario_id de la tabla imágenes, cuando el usuario hace login en la página puedes guardar en una variable de sesión el id del usuario y cada vez que agregues una imagen a la tabla imagen con el insert debes colocar en usuario_id el valor de la variable de sesión con el id del usuario.

Espero te sea de ayuda.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #3 (permalink)  
Antiguo 07/07/2015, 08:52
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Respuesta: vincular las imagenes subidas con el id

Otra cosa, debes quitar la primary key del campo usuario_id porque un mismo usuario puede subir 10 imágenes y todas van a quedar con el mismo usuario_id, puedes agregar otro campo que sea p ej id que ese si sea autonumérico y sea la primary key.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #4 (permalink)  
Antiguo 08/07/2015, 04:43
 
Fecha de Ingreso: julio-2015
Mensajes: 10
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: vincular las imagenes subidas con el id

gracias por las respuestas, una duda tengo tambien teno que hacer una llave foreing o no
gracias
  #5 (permalink)  
Antiguo 08/07/2015, 07:31
 
Fecha de Ingreso: julio-2015
Mensajes: 10
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: vincular las imagenes subidas con el id

gracias por todo alguien me puede ayudar
  #6 (permalink)  
Antiguo 08/07/2015, 08:06
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Respuesta: vincular las imagenes subidas con el id

No es estrictamente necesario si tu bd está bien estructurada y el manejo de la información es adecuado por parte del usuario, la utilidad sería para evitar que en la tabla de fotos queden registros que no tengan referencia a la tabla usuarios pero si manejas bien la inserción y eliminación de usuarios eso no tendría por qué pasar.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #7 (permalink)  
Antiguo 08/07/2015, 12:02
 
Fecha de Ingreso: julio-2015
Mensajes: 10
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: vincular las imagenes subidas con el id

mucha gracias por tu ayuda , es que no se relaciona la id de foto con la id del usuario,cuando subo las fotos se numeran 1.2.3.4......ext,
pero lo que quiero es el usuario loqueado con id = 1, las imagenes que sube salen numeradas con su id asi: 1.1.1.1, todas las imagenes que suba
gracias
  #8 (permalink)  
Antiguo 08/07/2015, 12:23
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Respuesta: vincular las imagenes subidas con el id

Para eso es la variable de sesión con el id del usuario que te indiqué desde el principio, para que cuando ingreses una nueva foto a la bd en vez de dejar autonumérico el campo ´usuario_id´debes colocar ahí el valor de la variable de sesión que contiene el id del usuario.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #9 (permalink)  
Antiguo 08/07/2015, 12:27
 
Fecha de Ingreso: julio-2015
Mensajes: 10
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: vincular las imagenes subidas con el id

pero lo cambie y las imagenes se registran todas con el numero 0
asi: 0.0.0.0.0

gracias
  #10 (permalink)  
Antiguo 08/07/2015, 12:28
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Respuesta: vincular las imagenes subidas con el id

Coloca el código con el cambio que hiciste para poder ayudarte.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #11 (permalink)  
Antiguo 08/07/2015, 12:31
 
Fecha de Ingreso: julio-2015
Mensajes: 10
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: vincular las imagenes subidas con el id

CREATE TABLE IF NOT EXISTS `imagenes` (
`usuario_id` int(11) NOT NULL ,
`ruta` varchar(100) NOT NULL,
`descripcion` text,
PRIMARY KEY (`usuario_id`)
)ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
  #12 (permalink)  
Antiguo 08/07/2015, 12:34
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Respuesta: vincular las imagenes subidas con el id

En primer lugar no has hecho caso de crear un campo llamado foto_id por ejemplo o como quieras colocarle que debe ser autonumérico y el cual será el PRIMARY KEY de la tabla. Debes QUITAR el PRIMARY KEY del campo usuario_id. En segundo lugar te estoy pidiendo el código php con el que insertas las nuevas fotos en la tabla imagenes.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #13 (permalink)  
Antiguo 08/07/2015, 12:38
 
Fecha de Ingreso: julio-2015
Mensajes: 10
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: vincular las imagenes subidas con el id

perdon por las molestias

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>
  20.  
  21. <?php
  22.  
  23.  
  24. $consulta=mysql_query("SELECT * FROM datos WHERE usuario_id='".$_GET['id']."'") or die(mysql_error());
  25. while($filas=mysql_fetch_array($consulta)){
  26.     $ruta=$filas['ruta'];
  27.     $desc=$filas['descripcion'];
  28.  
  29.  
  30. ?>
  31.  
  32. <?php echo $desc;?><br>
  33. <img src="<?php echo $ruta; ?>" width="180" height="214"><br>
  34.  
  35. <?php }?>


recibir.php

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('adss',$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 imagenes (usuario_id,ruta,descripcion) values('".$usuario_id."','".$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. ?>
  40. <META HTTP-EQUIV='Refresh' CONTENT='1; URL=acceso.php'>


con esto sube el usuario las imagenes a una carpeta llamada imagenes y a una tabla llamada imagenes



la tabla
Código PHP:
Ver original
  1. CREATE TABLE IF NOT EXISTS `datos` (
  2. `usuario_id` int(11) NOT NULL ,
  3. `foto_id` int(11) NOT NULL AUTO_INCREMENT,
  4. `ruta` varchar(100) NOT NULL,
  5. `descripcion` text,
  6. PRIMARY KEY (`usuario_id`)
  7. )ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
  #14 (permalink)  
Antiguo 08/07/2015, 12:41
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Respuesta: vincular las imagenes subidas con el id

En ningún lado estás definiendo el valor de $usuario_id aquí:

Código PHP:
Ver original
  1. $sql="INSERT INTO imagenes (usuario_id,ruta,descripcion) values('".$usuario_id."','".$rutaDestino."','".$desc."')";

Por eso siempre te sale 0.

Pon el código de la página donde haces el login del usuario.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #15 (permalink)  
Antiguo 08/07/2015, 12:53
 
Fecha de Ingreso: julio-2015
Mensajes: 10
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: vincular las imagenes subidas con el id

hola me siguen registrando las imagenes con 0 en todas,la fila de foto_id ,para que es
perdona por molestar
  #16 (permalink)  
Antiguo 08/07/2015, 13:02
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Respuesta: vincular las imagenes subidas con el id

Para ver si estás instanciando la variable de sesión como te dije o no.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #17 (permalink)  
Antiguo 09/07/2015, 03:04
 
Fecha de Ingreso: julio-2015
Mensajes: 10
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: vincular las imagenes subidas con el id

gracias podrias ayudar paso a paso que necesito para que los usuarios tengan imagenes subidas y cada de estas imagenes subidas del usuario loqueado se relaciona con el
es dicir

tabla de usuarios
tabla de imagenes
formulario de subidas de imagenes
codigo para recibir el upload de imagenes
que mas
gracias
  #18 (permalink)  
Antiguo 09/07/2015, 07:01
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Respuesta: vincular las imagenes subidas con el id

Cita:
Iniciado por chronos682 Ver Mensaje
1. Quitar el autoincrement de la columna usuario_id de la tabla imágenes
2. Guardar en una variable de sesión el id del usuario
3. En el insert debes colocar en usuario_id el valor de la variable de sesión con el id del usuario.
Más claro y por pasos no se puede. Si no colocas los códigos que te pido me queda muy difícil adivinar si estás haciendo las cosas bien o no. Con solo hacer esas 3 cosas estoy seguro que va a funcionar.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]

Etiquetas: imagenes, registro, subidas, tabla, usuarios, vincular
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 22:35.