Foros del Web » Programando para Internet » PHP »

**problema al presentar IMAGEN traida de BD

Estas en el tema de **problema al presentar IMAGEN traida de BD en el foro de PHP en Foros del Web. TENGO UN PROBLEMA NO PUEDO CARGAR UNA IMAGEN TRAIDA DE MI BASE DE DATOS, creo que mi problema es el header pero no se como ...
  #1 (permalink)  
Antiguo 10/03/2005, 15:24
 
Fecha de Ingreso: octubre-2004
Mensajes: 46
Antigüedad: 19 años, 6 meses
Puntos: 0
Exclamación **problema al presentar IMAGEN traida de BD

TENGO UN PROBLEMA NO PUEDO CARGAR UNA IMAGEN TRAIDA DE MI BASE DE DATOS,
creo que mi problema es el header pero no se como modificarlo el de htm con el de php...... por que si uso el codigo solo php si funciona




<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<?php
//Conexion con la base
$link=OCILogon("ivr","ivr","ivr");
$sql1= "SELECT b.imagen from libros@uees a,caratulas@uees b where a.codigo='000008' and a.codigo=b.lib_codigo order by a.codigo";
$result = OCIParse($link,$sql1);
$stmt=OCIParse($link,$sql1);
//$blob=OCINewDescriptor($link,OCI_D_LOB);
OCIExecute($stmt);
while (ocifetch ($stmt))
{
$imagen=ociresult($stmt,1);
header("content-type: image/jpeg",false);

}
$x=100;
$y=100;
OCILogOff($link);

?>

<body>
<img name="imagen" src="<?php echo $imagen?>" width="<?php echo $x?>" height="<?php echo $y?>" alt="">
</body>
</html>
  #2 (permalink)  
Antiguo 10/03/2005, 16:16
 
Fecha de Ingreso: octubre-2004
Mensajes: 46
Antigüedad: 19 años, 6 meses
Puntos: 0
plis ayuda
  #3 (permalink)  
Antiguo 11/03/2005, 10:21
 
Fecha de Ingreso: octubre-2004
Mensajes: 46
Antigüedad: 19 años, 6 meses
Puntos: 0
nadie me puede ayudar
  #4 (permalink)  
Antiguo 11/03/2005, 10:33
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Lee mi respuesta a este mensaje (con el mismo error de "lógica de uso"):

http://www.forosdelweb.com/showpost....74&postcount=5

Cuando usas "header()" no puedes tener nada más de HTML por médio .. Ese código debes ejecutarlo aislado del resto de tu página HTML y bajo un tag de imagen común:

algo.html o .php ..

y en el .. llamas a tu script que genera ese gráfico ..
<img src="ese_codigo.php">

Un saludo,
  #5 (permalink)  
Antiguo 11/03/2005, 10:42
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Otro detalle ..

No puedes tomar todas tus imagenes que pueda arrojar esa consulta de esa forma . .debes ejecutarlas una por una .. sino, no tendras control de "donde caen" las imagenes en el contexto y diseño de tu página HTML que vas a generar..

La técnica sería:
1) .. tu script actual .. sólo generar links con el IDentificador de tu imagen (registro que lo contenga):
Código PHP:
while (ocifetch ($stmt))
{
$id=ociresult($stmt,???); // no sé como se usa .. el caso es que requieres ahí el ID.

   
echo "<img src=\"ver_imagen.php?id=\".$id."><br>";


2) tu script "ver_imagen.php" tendrá que hacer la consulta SQL a tu BD bajo el criterio (WHERE .. id=$_GET['id'] ...) para obtener esa imagen ...Tus header() .. y resto de código con la llamada vía <img ...> ya se encargaran de lo demás.

Otro detalle:
Esto que haces:
width="<?php echo $x?>" height="<?php echo $y?>"

No es para nada optimo .. deberías usar las técnicas de generación de "thumbnails" (en las FAQ's tienes funciones creadas ya para orientarte ..). De esa forma generas un imagen nueva .. con el tamaño y peso adecuado a lo que quieres .. y no "forzar" al navegador a que muestre la imagen a cierto tamaño cuando en realidad pesa exactamente lo mismo que en su tamaño original.

Un saludo,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:37.