Ver Mensaje Individual
  #3 (permalink)  
Antiguo 08/01/2009, 12:31
Maye422
 
Fecha de Ingreso: enero-2009
Mensajes: 7
Antigüedad: 15 años, 3 meses
Puntos: 0
Exclamación Problemas al mostrar uan imagen blob

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 $pag1;
  
$enlace="mostrarArti.php?pag=";
  
  if (
$pag>1)
    echo 
"<a href=\"$enlace$anterior\">&laquo;</a> ";
  else
    echo 
"<b>&laquo;</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\">&raquo;</a>";
  else
    echo 
"<b>&raquo;</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!!!!!!!