Hola!
Tengo un problema al mostrar una imagen blob que esta guardada en mi base de datos en mysql, la cuestion es que cuando la muestro, en lugar de la la imagen, aparecen es los caracteres ascii que la conforman, es decir, como si estuviera trabjando sin la cabecera.
esta es la logica:
****mostArti.php****
Esta pagina lo que hace es que muestrade forma paginada todos los datos de un articulo determinado en una tabla, y en una de las columnas un link que se llama "Ver Imagen" que es el que me envia por referencia el la referencia del articulo al cual pertenece la imagen a la pagina mostImagen.php, para ver la imagen
Código PHP:
<?php
require_once('conexion.php');
$ref=$_POST["ref"];
$tip=$_POST["tipo"];
if($ref!=NULL)
{
$sql="SELECT * FROM articulo WHERE refArticulo='$ref'";
$x=5;
}
else {
$sql="SELECT * FROM articulo WHERE tipo='$tip'";
$x=5;}
if($x!=NULL)
{
if (!isset($pag))
$pag = 1; // $pg es la pagina actual
$cantidad=10; // cantidad de resultados por página
$inicial = $pag * $cantidad;
$result = mysql_query("SELECT COUNT(*) FROM articulo");
list($total) = mysql_fetch_row($result);
$tampag = 10;
$reg1 = ($pag-1) * $tampag;
$result = mysql_query("SELECT * FROM articulo WHERE tipo='$tip'
LIMIT $reg1, $tampag");
$result=mysql_query($sql);
if (mysql_num_rows($result)){
echo "<table align='center' bgcolor= '#006699' cellpadding=10 cellspacing=2 border=1>"; // Comenzamos la tabla antes del ‘while’
echo "<tr><th>Referencia</th><th>Nombre</th><th>Talla</th><th>Color</th><th>Stock Max.</th><th>Stock Min.</th><th>Cant Disp</th><th>Precio Venta</th><th>Precio Compra</th><th>Imagen</th></tr>"; // Así escribimos la cabecera de la tabla
while ($row = @mysql_fetch_array($result))
{
$ref=$row["refArticulo"];
$name=$row["nombre"];
$talla=$row["talla"];
$color=$row["color"];
$smin=$row["cantMinDep"];
$smax=$row["cantMaxDep"];
$cant=$row["cantDisp"];
$pc=$row["precVenta"];
$pv=$row["precCompra"];
echo "<tr><td>$ref</td>"; // Comenzamos una fila (<tr>)
echo "<td>$name</td>";
echo "<td>$talla</td>";
echo "<td>$color</td>";
echo "<td>$smin</td>";
echo "<td>$smax</td>";
echo "<td>$cant</td>";
echo "<td>$pc</td>";
echo "<td>$pv</td>";
echo "<td><a href=mostImagen.php?id=$ref>Ver Imagen</a></td>
</tr>"; // Acabamos una fila (</tr>)
}
echo "</table>"; // Fin de la tabla.
$total_paginas = ceil($total/$cantidad);
$anterior = $pag - 1;
$posterior = $pag+ 1;
$enlace="mostrarArti.php?pag=";
if ($pag>1)
echo "<a href=\"$enlace$anterior\">«</a> ";
else
echo "<b>«</b> ";
for ($i=1; $i<$pag; $i++){
echo "<a href=\"$enlace$i\">$i</a> ";
echo "<b>$pag</b> ";}
for ($i=$pag+1; $i<=$total_paginas; $i++)
echo "<a href=\"$enlace$i\">$i</a> ";
if ($pag<$total_paginas)
echo "<a href=\"$enlace$posterior\">»</a>";
else
echo "<b>»</b>";
}
}
else
echo"<script>alert ('Registro no encontrado en la Base de Datos');
</script>";
?>
***mostImagen.php****
En esta pagina hago el codigo necesario para mostrar la imagen
Código PHP:
<?php
header("Content-type: $tipo");
require_once('conexion.php');
$id =$HTTP_GET_VARS["id"] ;
$result = mysql_query("SELECT Imagen, tipoIm FROM articulo WHERE refArticulo='$id'");
if ($result){
$datos = mysql_result($result,0,"Imagen");
$tipo = mysql_result($result,0,"tipoIm");
//header("Content-Disposition: inline; filename=$nombre");
print $datos;
echo "<img src=\"mostImagen.php?id=".$result['refArticulo']."\">";
}
else
echo "<script languaje='javascript' type='text/javascript'>
alert(\"Ocurrio un error y los datos no se registraron \");
</script>";
?>
HE BUSCADO EN VARIOS SITIOS Y NO ENCUENTRO LA SOLUCION, NO SE QUE ES LO QUE TENGO MAL!!!!!!! POR FAVOR NECESITO AYUDA URGENTE!!!!!!!