Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/08/2008, 04:22
nandelbosc
 
Fecha de Ingreso: mayo-2006
Mensajes: 18
Antigüedad: 20 años, 4 meses
Puntos: 0
ayuda para mostrar varias imagenes de una misma tabla

Buenos dias,

estoy haciendo un pequeña base de datos con images, la tabla tendria esta estructura...

id auto-increment (Primary Key)
imatge1 blob
imatge1_thumb blob
imatge1_mime varchar(40)
imatge1_nombre varchar(255)
imagen2 blob
imatge2_thumb blob
imatge2_mime varchar(40)
imatge2_nombre varchar(255)

Lo que quiero es que cuando pase el parámetro id via la url (al estilo http://www.midominio.net/imagen.php?id=4) me muestre las dos imagenes.

Lo he probado con lo siguiente:

Código PHP:
<?php
        error_reporting
(E_ALL);
        
define("DBHOST", "localhost");
        
define("DBNAME", "MI_BDD");
        
define("DBUSER", "usuario");
        
define("DBPASSWORD", "contraseña");

        
$id = (isset($_GET["id"])) ? $_GET["id"] : exit();
        
$tam = (isset($_GET["tam"])) ? $_GET["tam"] : 1;

        switch(
$tam) {
                case 
"1":
                        
$campo = "imatge1";break;;
                case 
"2":
                        
$campo = "imatge1_thumb";break;;
                default:
                        
$campo = "imatge1";break;;
        }

        
$sql = "SELECT $campo, imatge1_mime FROM propia WHERE id = $id";

        
$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);

        
$imagen = $datos[0];
        
$mime = $datos[1];
        
header("Content-Type: $mime");
        echo 
$imagen;

        switch(
$tam) {
                case 
"1":
                        
$campo = "imatge2";break;;
                case 
"2":
                        
$campo = "imatge2_thumb";break;;
                default:
                        
$campo = "imatge2";break;;
        }

        
$sql = "SELECT $campo, imatge2_mime FROM propia WHERE id = $id";

        
$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);

        
$imagen = $datos[0];
        
$mime = $datos[1];
        
header("Content-Type: $mime");
        echo 
$imagen;
mysql_close();

?>

pero solo me muestra la primera imagen.

si lo invierto...

Código PHP:
<?php
        error_reporting
(E_ALL);
        
define("DBHOST", "localhost");
        
define("DBNAME", "MI_BDD");
        
define("DBUSER", "usuario");
        
define("DBPASSWORD", "contraseña");

        
$id = (isset($_GET["id"])) ? $_GET["id"] : exit();
        
$tam = (isset($_GET["tam"])) ? $_GET["tam"] : 1;

        switch(
$tam) {
                case 
"1":
                        
$campo = "imatge2";break;;
                case 
"2":
                        
$campo = "imatge2_thumb";break;;
                default:
                        
$campo = "imatge2";break;;
        }

        
$sql = "SELECT $campo, imatge2_mime FROM propia WHERE id = $id";

        
$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);

        
$imagen = $datos[0];
        
$mime = $datos[1];
        
header("Content-Type: $mime");
        echo 
$imagen;

        switch(
$tam) {
                case 
"1":
                        
$campo = "imatge1";break;;
                case 
"2":
                        
$campo = "imatge1_thumb";break;;
                default:
                        
$campo = "imatge1";break;;
        }

        
$sql = "SELECT $campo, imatge1_mime FROM propia WHERE id = $id";

        
$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);

        
$imagen = $datos[0];
        
$mime = $datos[1];
        
header("Content-Type: $mime");
        echo 
$imagen;
mysql_close();

?>

solo me muestra la segunda.

Alguien podria hecharme una mano? Gracias!!!!