Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/07/2011, 11:34
JBNC
 
Fecha de Ingreso: julio-2011
Ubicación: Yucatán
Mensajes: 8
Antigüedad: 13 años, 4 meses
Puntos: 1
Motrar imagen guardada en BLOB en una página php

Tengo un problema, estoy haciendo una galeria de imagenes en php, las imagenes están guardadas en una BD mySQL y las quiero extraer para mostrarlas en la galeria pero no se porque no me muestra la imagen, me muetra los nombres de las imagenes guardadas pero no se ven las imagenes les presento el codigo:

index.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title> Prueba de galeria </title>

<script type="text/javascript" src="jquery.js"></script>
<style type="text/css">
body{
margin:0;
padding:0;
font:normal 12px Arial, Helvetica, sans-serif
}
#content{
width:700px;
margin:20px auto;
height:550px;
border:6px solid #F3F3F3;
padding-top:10px;
overflow: scroll;
}
#upload{
padding:12px;
font:bold 16px Arial, Helvetica, sans-serif;
text-align:center;
color:#096;
width:150px;
display:block;
-moz-border-radius:5px;
-webkit-border-radius:5px;
margin:0 auto;
text-decoration:none;
}
#gallery{
list-style:none;
margin:20px 0 0 0;
padding:0
}
#gallery li{
display:block;
float:left;
width:155px;
height:160px;
background:#9AF099;
border:1px solid #093;
text-align:center;
padding:6px 0;
margin:5px 0 5px 14px
}
#gallery li img{
width:145px;
height:140px
}

</style>

<script type="text/javascript">
$(document).ready(function(){
// Listar fotos que hay en mi tabla
$("#gallery").load("procesa.php?action=listFotos") ;
});

</script>
</head>

<body>

<div id="content">
<a id="upload">Galeria</a>
<ul id="gallery">
<!-- Cargar Fotos -->
</ul>
</div>

</body>
</html>


procesa.php:
<?php

define("DBHOST", "localhost");
# nombre de la base de datos
define("DBNAME", "mysql");
# Usuario de base de datos
define("DBUSER", "******");
# Password de base de datos
define("DBPASSWORD", "******");
$link = mysql_connect(DBHOST, DBUSER, DBPASSWORD) or die(mysql_error($link));;
mysql_select_db(DBNAME, $link) or die(mysql_error($link));

if($_GET['action'] == 'listFotos'){

$query = mysql_query("SELECT * FROM tabla ORDER BY idfoto DESC", $link)or die(mysql_error($link));
while($row = @mysql_fetch_array($query))
{
$id=$row["idfoto"];
echo '<li>
<img src="verblob.php?idfoto=$id&tam=2"/>
<span>'.$row['nombre'].'</span>
</li>';
}
}
?>

verblob.php:
<?php

// Nivel de errores
error_reporting(E_ALL);

// Constantes
# Servidor de base de datos
define("DBHOST", "localhost");
# nombre de la base de datos
define("DBNAME", "mysql");
# Usuario de base de datos
define("DBUSER", "******");
# Password de base de datos
define("DBPASSWORD", "******");

// Parámetros para recuperar la imagen
# Recuperamos el parámetro GET con el id único de la foto que queremos mostrar
$idfoto = (isset($_GET["idfoto"])) ? $_GET["idfoto"] : exit();
# Recuperamos el parámetro GET para elegir entre la miniatura o la foto real
$tam = (isset($_GET["tam"])) ? $_GET["tam"] : 1;

// Escojemos la foto real o la miniatura según la variable $tam
switch($tam) {
case "1":
$campo = "foto";break;;
case "2":
$campo = "thumb";break;;
default:
$campo = "foto";break;;
}

// Recuperamos la foto de la tabla
$sql = "SELECT $campo, mime
FROM tabla
WHERE idfoto= $idfoto";

# Conexión a la base de datos
$link = mysql_connect(DBHOST, DBUSER, DBPASSWORD) or die(mysql_error($link));;
mysql_select_db(DBNAME, $link) or die(mysql_error($link));

$conn = mysql_query($sql, $link) or die(mysql_error($link));
$datos = mysql_fetch_array($conn);

// La imagen
$imagen = $datos[0];
// El mime type de la imagen
$mime = $datos[1];

// Gracias a esta cabecera, podemos ver la imagen
// que acabamos de recuperar del campo blob
header("Content-Type: $mime");
// Muestra la imagen
echo $imagen;
?>

alguien ke me ayude porfa!!!!