PHP - mostrar imagenes de una base de datos

 
Vista:
sin imagen de perfil

mostrar imagenes de una base de datos

Publicado por mina (4 intervenciones) el 11/11/2014 16:00:15
Hola que tal! Estoy haciendo un pequeño formulario en php para subir varias imágenes, a la base de datos y también a una carpeta que llamo "imagenes"
El tema es el siguiente, no se como hacer que se "muestren" al archivo lo hice en base a un ejemplo que vi en internet..

Este es archivo de conexión (conexión.php)
1
2
3
4
5
6
7
8
9
10
<?php
function conectarse(){
    $server="localhost";
    $username="root";
    $password="";
    $bd='imagenesbd';
    $conexion= new mysqli($server,$username,$password,$bd)or die("no se ha podido establecer la conexion");
    return $conexion;
    }
?>

este es el formulario (formulario.php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>Multifile Upload by elporfirio.com</title>
</head>
 
<body>
 
<?php
    $max_upload = (int)(ini_get('upload_max_filesize'));
    $max_post = (int)(ini_get('post_max_size'));
    $memory_limit = (int)(ini_get('memory_limit'));
    $upload_mb = min($max_upload, $max_post, $memory_limit);
 
    echo "Tamaño maximo permitido <strong>$upload_mb Mb</strong><br>";
?>
<form action="procesarArchivos.php" method="post" enctype="multipart/form-data">
    <br>
    <label>Archivo 1</label>
    <input type="file" name="archivo[]">
    <br>
    <label>Archivo 2</label>
    <input type="file" name="archivo[]">
    <br>
    <label>Archivo 3</label>
    <input type="file" name="archivo[]">
    <br>
    <label>Archivo 4</label>
    <input type="file" name="archivo[]">
    <br>
    <label>Archivo 5</label>
    <input type="file" name="archivo[]">
    <br>
    <input type="submit" value="Guardar Archivos">
</form>
</body>
</html>

este es archivo que lo procesa (procesarArchivos.php) -- no quiero q en este archivo se muestren las imagenes, solo que haga el proceso de subirlas a la base de datos y a la carpeta-- puse idUsuario e idProducto, porque la tabla Imagen (tendra los campos: idImg, IdUsuario,IdProducto,nombImg,tipoImg), en donde idProducto= se relacionará con la tabla productos

E idUsuario = se relacionará con la tabla usuario( es decir que usuario subio esa imagen de producto).. Por ahora los deje con valores estaticos, ("1" y "2") para no complicarme con eso todavia


Ahora hice este archivo que me va tomar las imagenes de la base de datos: (obtenerFotografia.php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
 
 
function mostrarImgs($val,$conexion){
    $consulta= "SELECT * FROM imagen WHERE idProducto = '$val'";
    $resultado = $conexion->query($consulta);
 
    while ($f= $resultado->fetch_assoc()){
                //ahora solamente debemos mostrar la imagen
        echo  $f['nombImg'];
    }
}
 
?>

Y por ultimo hice otro archivo para que utilice esa funcion y muestre la imagen final (mostrarImagen.php), le puse el valor "2" porque por ahora quiero que me muestre las imagenes de "X" producto..
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
  include 'conexion.php';
  $conexion = conectarse();
  include 'obtenerFotografia.php';
?>
<! DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
<?php
    mostrarImgs(2,$conexion);
?>
</body>
</html>

Bueno el tema es que si bien se inserta en la tabla; imagen (idImg, idUsuario, idProducto, nombImg, tipoImagen) no se como hacer para que muestre las imágenes.. Porque podría mostrarlas desde la carpeta "imagenes" que tengo creada, pero quisiera saber como hacer de la otra forma

aclaracion: la base de datos se llama: imagenesbd, y la tabla imagen: tiene los campos
idImg: int Auto
idUsuario: int
idProducto: int
nombImg: MEDIUMBLOB
tipoImagen: varchar(30)
muchas gracias a todos lo que lo lean, y dejaran sus comentarios :))))
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder