Foros del Web » Programando para Internet » PHP »

mostrar imagen de base de datos MYSQL

Estas en el tema de mostrar imagen de base de datos MYSQL en el foro de PHP en Foros del Web. Hola amigos, Soy nuevo y novato con los temas de PHP , primero que nada agradezco a todos ustedes y su site por todas las ...
  #1 (permalink)  
Antiguo 12/10/2015, 11:59
 
Fecha de Ingreso: octubre-2008
Mensajes: 11
Antigüedad: 15 años, 6 meses
Puntos: 0
mostrar imagen de base de datos MYSQL

Hola amigos,

Soy nuevo y novato con los temas de PHP , primero que nada agradezco a todos ustedes y su site por todas las orientaciones al respecto de us y manejo de PHP,

Para que por favor me indiquen sin pueden darme una mano , El problema es el siguiente, estoy trabajando en un proyecto en el cual al hacer un registro de usuario guardo la foto de el usuario en un campo varchar, todo muy bien me inserta el registro y la foto con su descripción, renombrado al guardarla en formato .jpg, el problema es que cuando hago una consulta del id especifico del usuario por medio de POST, me carga los datos del usuario pero no me muestra la imagen a continuación mi código.

codigo que uso para guardar la imagen y renombrarla:

Código PHP:

<?php
include("clase_conexion.php");
$id_foto=date('YHis');//extraemos la fecha del servidor
$nombre=('nombre_alumno');
$consulta="insert into alumno values ('$id_foto','')";
$inserta_foto=mysql_query($consulta,$c);
$filename "fotos/".$id_foto.'.jpg';//nombre del archivo
$result file_put_contents$filenamefile_get_contents('php://input') );//renombramos la fotografia y la subimos
if (!$result) {
    print 
"No se pudo subir al servidor\n";
    exit();
}

$url 'http://' $_SERVER['HTTP_HOST'] . dirname($_SERVER['REQUEST_URI']) . '/' $filename;//generamos la respuesta como la ruta completa
print "$url\n";//20120214060943.jpg

?>
Codigo que uso en el html para mostrarla donde se ve la consulta:

Código PHP:
<?php

$conexion 
mysqli_connect('localhost''root''''dba');

     
$subconsulta="SELECT * FROM alumno";

    
$filas mysqli_query($conexion$subconsulta);
    while (
$columnas mysqli_fetch_assoc($filas) ){
            echo 
'<div>';
            echo 
"<p>$columnas[id_foto]</p>";
            echo 
"<img src='colegio/application/registro/fotos/$columnas[id_foto]' />";
            echo 
'</div>';
        }

?>
AL momento de verla me carga en la consulta todos los id guardados, pero no me muestra la foto ni tampoco el id especifico que busco.

Gracias por anticipado,

Saludos, Alexander Q.
  #2 (permalink)  
Antiguo 13/10/2015, 03:09
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Respuesta: mostrar imagen de base de datos MYSQL

Hola lexquirox,

¿Has comprobado que las imágenes están realmente en la ruta que colocas?
  #3 (permalink)  
Antiguo 13/10/2015, 04:42
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: mostrar imagen de base de datos MYSQL

Tienes varios errores, el primero es que asignas como nombre de la imagen la fecha en formato YHis, haciéndolo así si un usuario se registra hoy a las 7:00 am y otro mañana exactamente a la misma hora ambos van a tener una imagen con nombre 20150700 lo cual o te va a generar error al intentar guardar un archivo que existe o te va a sobreescribir la imagen del primero. En segundo lugar no veo que estés insertando el nombre del usuario en la BD, veo que tienes una variable $nombre pero nunca la usas ni tampoco la insertas en la BD. Por otro lado insertas en la BD el nombre de la imagen sin extensión y cuando quieres luego cargar la imagen tampoco se la adicionas, entonces antes de guardar el nombre de la imagen deberías poner la extensión primero o asegurarte al cargarla de ponerle la extensión. Otra cosa es que no veo el formulario con el que cargas la imagen, no sé si estarás controlando que el usuario ÚNICAMENTE pueda cargar imágenes jpg porque la conversión de formatos no es tan simple como cambiarle la extensión y ya, puede que te produzca error al intentar mostrar una imagen jpg cuando en realidad es png p ejemplo. Revisa todas esas cosas y nos cuentas.
__________________
Si te gustó la respuesta dale +1

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

Etiquetas: fecha, html, mysql, registro, select, sql
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 20:26.