Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/06/2003, 01:25
Avatar de Escoffie
Escoffie
 
Fecha de Ingreso: abril-2003
Ubicación: Mérida, Yucatán
Mensajes: 242
Antigüedad: 21 años
Puntos: 9
Imágenes desde base de datos

Hola a todos:

Soy muy novato Así que espero ser lo bastante claro para que puedan ayudarme

Mi problema es este... encontré un codiguín por ahí para subir archivos a una DB de mySQL. De esas que te pide un campo para el nombre, otro para el tipo y un blob para el binario.

Al recuperar la imagen con otro script, ésta aparece correctamente. Hasta aquí todo bien...

Le hice unos cambios, pues lo que necesito es una forma para añadir registros que pide muchos datos de texto normales, y además 4 fotos. Lo que hice fue hacer una tablota con 4 campos para los nombres de cada foto, 4 para los tipos y 4 blobs para los binarios. Además como 5 más para textos...

Todo se inserta bien en la DB. Hasta aquí todo bien...

Puedo recuperar toda la información de "texto" sin ningún problema. La bronca viene a la hora de querer ver las fotos.

Resulta que o veo una sola foto, o veo los textos, pero no puedo ver nada más.

Si pongo algo así como:
Código PHP:
<?
require("conexion.php");
mysql_select_db("miDB"
        or die(
"No se tiene acceso a la base de datos");

$qry "SELECT tipo1, contenido1, foto1 FROM miTabla WHERE id=$id";
$res mysql_query($qry);
$tipo      mysql_result($res0"tipo1");
$contenido mysql_result($res0"contenido1");
$contenido .=header("Content-type: $tipo");
$contenido .=header("Content-Disposition: ; filename=\"$nombre\""); 
$nombre    mysql_result($res0"foto1");

print 
$contenido
?>
...puedo ver la primera imagen sin ningún problema (y también sin ninguna cosa adicional)

En el momento en el que le meto algún echo "Lo que sea"; o cualquier otra cosa, una tabla HTML, invocar el texto de los otros campos del row o alguna de las otras 3 imágenes, no más no lo muestra...

Siempre y cuando todo eso esté después del print $contenido simplemente no lo muestra, pero, si lo pongo antes del print $contenido me sale un horrendo mensaje que dice que los headers ya han sido enviados.

En resumen... aunque las fotos están bien almacenadas en la DB, no las puedo usar porque de nada me sirve mostrar sólo una foto a la vez... lo que quiero es que se vea toda la información de un producto junto con 4 fotos del mismo.

¿Alguien tiene alguna idea de qué estoy haciendo mal?

Si de algo sirve, me basé en este tutorial: http://www.programacion.com/php/articulo/datos_blob/ para hacer mi formulario de inserción. Insisto, en mi tablita, hay campos para 4 fotos, con sus tipos y nombres, más varios campos para texto.

Desde ya muchas gracias y perdón por lo "rollero". Saludos a todos.