Foros del Web » Programando para Internet » PHP »

subir imagenes a mysql

Estas en el tema de subir imagenes a mysql en el foro de PHP en Foros del Web. Pues no se como subir imagenes a la base de datos mysql y luego leerlas . La tabla de la base de datos(que he de ...
  #1 (permalink)  
Antiguo 15/06/2006, 10:04
Avatar de nadie_ats  
Fecha de Ingreso: abril-2005
Ubicación: Barcelona (catalunya)
Mensajes: 818
Antigüedad: 12 años, 7 meses
Puntos: 8
subir imagenes a mysql

Pues no se como subir imagenes a la base de datos mysql y luego leerlas .

La tabla de la base de datos(que he de poner en la parte roja)

CREATE TABLE `users` (
`id` INT( 4 ) NOT NULL AUTO_INCREMENT,
`nick` VARCHAR(30) NOT NULL ,
`pass` VARCHAR(30) NOT NULL ,
`email` VARCHAR(50) NOT NULL ,
`fecha` INT(15) NOT NULL ,
`level` INT(2) NOT NULL ,
`foto1` INT(2) NOT NULL ,
`foto2` INT(2) NOT NULL ,
`foto3` INT(2) NOT NULL ,

INDEX ( `id` )
);


Tambien necesito saber como la subo y si se puede leer de esta manera :

<?
include('config.php');
if(!isset($id))
{
echo 'no se ha seleccionado ninguna id';
}else{

$user=mysql_query("SELECT * FROM users WHERE id='$id' ");
if($user_ok=mysql_fetch_array($user) )
{

echo '<br><table border=0 cellpadding=0 cellspacing=0>';
echo '<tr><td><b>foto :&nbsp</td><td><b><img border=0 src="'.$user_ok["foto1"].'"></b><br></td></tr>';
echo '</table><br><br>';

}else{

echo '<b>La id seleccionada no existe</b>';

}

}
?>

Gracias de antemano
__________________
Intentando recordar todos los conocimientos que olvide .

Última edición por nadie_ats; 15/06/2006 a las 10:11
  #2 (permalink)  
Antiguo 15/06/2006, 10:19
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Lo primero que debes definir es que método quieres usar para registrar tus "imagenes" en tu BBDD.

Puedes hacerlo en forma "binaria" o bien sólo dejeando la referencia del nombre de tu imagen en tus BBDD. Ambos métodos tienen sus pró's y contras.

El más usado no obstante y el más sencillo es el 2° (dejar la referencia del nombre del archivo en sí en tus BBDD).

Otro detalle sería "optimizar" un poco más tu modelo de datos .. Tu idea en principio es crear N campos para ingresar el nombre de tus archivos en ellos .. Bien, sería más "óptimo" y versatil para tu aplicación tener un par de tablas para tal fin relacionadas 1 -N (un registro -> N imagenes ..)

Sería algo tipo:

tabla usuarios
id_usario
nick
etc ...

tabla imagenes
id_imagen
id_usuario
foto

Esto es lo que denominan "normalización" (que no sé si conoces .. pero ahí va un tutorial al respecto para que veas sus beneficios: http://www.mysql-hispano.org/page.php?id=16 )

Sobre como subir tu archivo al servidor (para poder obtener su nombre y donde lo dejaras definitivamente):

El manual de PHP sobre el tema "Upload de archivos":
http://www.php.net/manual/en/features.file-upload.php

Ahí veras que cuando subas tu archivo tendrás a tu disposición la variable $_FILES['campo_file']['name'] .. ese es el nombre que tu almacenaras en tu BBDD que es la referencia ..

Para acceder a tus imagenes, puedes hacer consultas simplemente tipo:

Código PHP:
<img src="fotos/<? echo $row['foto'?>"
El otro método de gestión de imagenes en "binario" junto con comentarios a favor y en contra de este método lo puedes ver en este mini-tutorial al respecto:

http://www.forosdelweb.com/f18/tutorial-ejemplo-subir-archivos-bd-guardando-bd-binario-127775/

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 15/06/2006, 11:03
Avatar de nadie_ats  
Fecha de Ingreso: abril-2005
Ubicación: Barcelona (catalunya)
Mensajes: 818
Antigüedad: 12 años, 7 meses
Puntos: 8
Gracias muchas gracias ese tutorial ultimo es mas o menos lo que buscaba , pertiendo de el creo que ya tengo la solucion
__________________
Intentando recordar todos los conocimientos que olvide .
  #4 (permalink)  
Antiguo 22/06/2006, 13:46
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 12 años, 6 meses
Puntos: 0
Cita:
Iniciado por nadie_ats
Gracias muchas gracias ese tutorial ultimo es mas o menos lo que buscaba , pertiendo de el creo que ya tengo la solucion
Podrias pasarme el codigo completo a mi direccion de correo o aqui en el foro para ver si me sirve a mi?

Gracias
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 10:32.