Jump to content


Photo

Mostrar imagenes blob mysql php

php mysql blob select

  • Please log in to reply
3 replies to this topic

#1 algunmae

algunmae

    Member

  • Miembros
  • PipPip
  • 31 posts

Posted 11 July 2016 - 10:00 AM

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 posts

Posted 11 July 2016 - 01:42 PM

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 posts
  • Location127.0.0.1

Posted 11 July 2016 - 04:37 PM

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 posts

Posted 18 October 2018 - 01:13 PM

gracias por la ayuda  (y)


  • 0





Also tagged with one or more of these keywords: php, mysql, blob, select

IP.Board spam blocked by CleanTalk.