Ir al contenido



Foto

Mostrar imagenes blob mysql php

php mysql blob select

  • Por favor identifícate para responder
3 respuestas en este tema

#1 algunmae

algunmae

    Member

  • Miembros
  • PipPip
  • 31 mensajes

Escrito 11 julio 2016 - 10:00

Buenas compañeros.

 

Estoy haciendo unas practias combinadas con unos videos del maestro Cesar. La situación es que guardé imagenes en la bd con un formulario, ej: id(int), nombre(varchar), foto (longblob). Esos tres campos. Cuando quiero mostrar la información pues los datos del nombre si me los muestra pero la imagen no. Quería saber como le hago en ese caso. Llevo algunos días buscando y tengo una leve idea pero aun no tan clara.

 

Este es el codigo del select.


php
  1. <table >
  2.  
  3. <thead>
  4. <tr>
  5. <th>Imagen</th>
  6. <th>nombre</th>
  7.  
  8. </tr>
  9. </thead>
  10.  
  11.  
  12. <tbody>
  13. <?php
  14.  
  15. $tra= new Trabajo();
  16. $reg=$tra->ver_datos();
  17. for($i=0;$i<sizeof($reg);$i++)
  18. {
  19.  
  20. ?>
  21. <tr >
  22. <td><?php echo $reg[$i]["imagen"];?></td>
  23.  
  24.  
  25. <td><?php echo $reg[$i]["nombre"];?></td>
  26.  
  27. </tr>
  28. <?php
  29. }
  30. ?>
  31. <tbody>
  32. </table>

y esta es la clase class.php


php
  1. <?php
  2. class Conectar
  3. {
  4. public static function con()
  5. {
  6. $conexion=mysql_connect("localhost","root","");
  7. mysql_query("SET NAMES 'utf8'");
  8. return $conexion;
  9. }
  10. }
  11. //******************************************************************
  12.  
  13. class Trabajo {
  14. private $eventos;
  15. public function _construct(){
  16. $this-> eventos=array();
  17.  
  18. }
  19.  
  20.  
  21.  
  22. public function ver_datos(){
  23. $mysqli=new mysqli("localhost","root","");
  24. $mysqli->query("SET NAMES 'utf8'");
  25. $mysqli->select_db("bd");
  26. $res=$mysqli->query("select * from datos");
  27. while ($reg=$res->fetch_array())
  28. {
  29. $this->eventos[]=$reg;
  30. }
  31. return $this->eventos;
  32.  
  33.  
  34.  
  35. }
  36.  
  37.  
  38. }
  39.  
  40. ?>

No encuentro como mostrar las imagenes porque son varias. Iluminenme por favor. Muchas gracias a todos aunque no comenten.


  • 0

#2 algunmae

algunmae

    Member

  • Miembros
  • PipPip
  • 31 mensajes

Escrito 11 julio 2016 - 01:42

Buenas compañeros.

 

Estoy haciendo unas practias combinadas con unos videos del maestro Cesar. La situación es que guardé imagenes en la bd con un formulario, ej: id(int), nombre(varchar), foto (longblob). Esos tres campos. Cuando quiero mostrar la información pues los datos del nombre si me los muestra pero la imagen no. Quería saber como le hago en ese caso. Llevo algunos días buscando y tengo una leve idea pero aun no tan clara.

 

Este es el codigo del select.


php
  1. <table >
  2.  
  3. <thead>
  4. <tr>
  5. <th>Imagen</th>
  6. <th>nombre</th>
  7.  
  8. </tr>
  9. </thead>
  10.  
  11.  
  12. <tbody>
  13. <?php
  14.  
  15. $tra= new Trabajo();
  16. $reg=$tra->ver_datos();
  17. for($i=0;$i<sizeof($reg);$i++)
  18. {
  19.  
  20. ?>
  21. <tr >
  22. <td><?php echo $reg[$i]["imagen"];?></td>
  23.  
  24.  
  25. <td><?php echo $reg[$i]["nombre"];?></td>
  26.  
  27. </tr>
  28. <?php
  29. }
  30. ?>
  31. <tbody>
  32. </table>

y esta es la clase class.php


php
  1. <?php
  2. class Conectar
  3. {
  4. public static function con()
  5. {
  6. $conexion=mysql_connect("localhost","root","");
  7. mysql_query("SET NAMES 'utf8'");
  8. return $conexion;
  9. }
  10. }
  11. //******************************************************************
  12.  
  13. class Trabajo {
  14. private $eventos;
  15. public function _construct(){
  16. $this-> eventos=array();
  17.  
  18. }
  19.  
  20.  
  21.  
  22. public function ver_datos(){
  23. $mysqli=new mysqli("localhost","root","");
  24. $mysqli->query("SET NAMES 'utf8'");
  25. $mysqli->select_db("bd");
  26. $res=$mysqli->query("select * from datos");
  27. while ($reg=$res->fetch_array())
  28. {
  29. $this->eventos[]=$reg;
  30. }
  31. return $this->eventos;
  32.  
  33.  
  34.  
  35. }
  36.  
  37.  
  38. }
  39.  
  40. ?>

No encuentro como mostrar las imagenes porque son varias. Iluminenme por favor. Muchas gracias a todos aunque no comenten.

Ya lo resolví. Le agregué esta linea y algunos cambios en la forma de llamar los datos

 

 <td><img height="70px" src="data:image/jpg;base64,<?php echo base64_encode($reg['imagen']);?>"/></td>

 

ahi les dejo por si alguna vez les pasa (y)


  • 1

#3 sir.dev.a.lot

sir.dev.a.lot

    Advanced Member

  • Miembros
  • PipPipPip
  • 545 mensajes
  • Location127.0.0.1

Escrito 11 julio 2016 - 04:37

Hola,

 

Ya le iba a mencionar lo del ENCODING, pero lo soluciono.... En hora buena! ;) (y)

 

Saludos


  • 2

#4 colala

colala

    Newbie

  • Miembros
  • Pip
  • 1 mensajes

Escrito 18 octubre 2018 - 01:13

gracias por la ayuda  (y)


  • 0





Etiquetado también con una o más de estas palabras: php, mysql, blob, select