Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/06/2009, 00:56
Avatar de hordasdelmal
hordasdelmal
 
Fecha de Ingreso: mayo-2009
Mensajes: 8
Antigüedad: 15 años
Puntos: 0
Pregunta Relacionar datos de una tabla con una imagende otra tabla

La consulta es la siguiente:

Ten go una bd, "bandas" con dos tablas, "archivos" y "grupos". En la primera tabla estan todos los datos de la banda (nombre, bio, mail, etc.) y en la otra tabla la imagen, tipo, nmbre y peso.
Lo que quiero hacer es que cuando uno selecciona una banda cualquiera me muestre los datos y la foto correspondiente. Tengo todo casi terminado, muestro la lista de bandas, cada una con un link a sus datos que se muestran perfectamente pero la imagen que sale es siempre la misma para todas las bandas. Les dejo los codigos que uso.

Aca muestro la lista de bandas (bandas_hordas.php)
Código PHP:
<table>
        <tr>
            <td>
                <?php include ("conexion.php");
                
                    
$consulta"select grp_id, grp_nombre, grp_bio, grp_lugar, grp_integrantes, grp_discos, grp_influ, grp_mail, grp_web,grp_link from grupos order by grp_nombre";
                        
$resultado=mysql_query($consulta);
                        
$bandasmysql_num_rows($resultado); 
                            echo (
"Hay ".$bandas." banda/s registradas en el sitio");
                                while(
$fila=mysql_fetch_array($resultado)){

                
?>
            </td>
            </tr>        
                <tr>    
                    <td><a href="bandas.php?grp_id=<?php echo($fila[grp_id]); ?>">
                    <?php echo($fila[grp_nombre]); ?></a>
                    </td>
                    
                </tr>
<?php
    
}
    
?>
</table>

aca muestro los datos de la banda seleccionada y es aca donde la imagen que sale es siempre la misma (bandas.php)
Código PHP:
<?php    
    $grp_id
=$_GET['grp_id'];
    include (
"conexion.php");
    
$consulta"select grp_id, grp_nombre, grp_bio, grp_lugar, grp_integrantes, grp_discos, grp_influ, grp_mail, grp_web,grp_link from grupos WHERE grp_id=$grp_id";
                        
$resultado=mysql_query($consulta);
                        
$fila=mysql_fetch_array($resultado); 
                              echo 
mysql_error();
?>
    <title>Estas conociendo la banda: <?php echo $fila[grp_nombre]; ?></title>
</head>
<body>
<table width="800" border="1" align="center">

    <tr>
      <td width="437" colspan="2"><?php   echo $fila[grp_nombre]; ?></td>
        
    </tr>
    <tr>
    <td><?php   echo $fila[grp_bio]; ?></td>
    <td>
    <?php
        $sql 
"SELECT img_id,archivo_nombre,archivo_tipo,archivo_peso FROM archivos";
    
$consulta mysql_query($sql) or die ("No se pudo ejecutar la consulta");

    
$registro=mysql_fetch_array($consulta);
        echo 
"<img src=\"ver1.php?img_id=".$registro['img_id']."\">";
        
    
                    
    
?>
    </td>
</tr>
    <tr>
      <td><a href="<?php   echo $fila[grp_web]; ?>">
        <?php   echo $fila[grp_web]; ?>
      </a></td>
        
    </tr>
<?php

//Fin del muestreo.
mysql_close();
?>
Este es el archivo al que hace referencia el archivo de arriva (ver1.php) que me muestra los datos tambien con el archivo que dejo abajo.
Código PHP:
<?php
if(isset($_GET['img_id'])) {

    
// you may have to modify login information for your database server:
    
$conexion=mysql_connect("localhost","root","root") or die ("no se ha podido conectar a la BD");

    
mysql_select_db("bandas") or die ("no se ha podido seleccionar la BD");

    
$sql "SELECT img_id, grp_img FROM archivos WHERE img_id='".$_GET['img_id']."'";

    
$consulta mysql_query($sql,$conexion);

    
$datos mysql_result($consulta,0,"grp_img");
    


    
header("Content-type: $tipo");
    
header("Content-length: $peso"); 
    
header("Content-Disposition: inline; filename=$nombre"); 
 
   echo 
$datos;

}
?>
Este archivo (ver_imagen.php) Es uno que tengo para listar las imagenes fuera de la pagina. No me sirve tampoco, por que me muestra todas las imagenes. Dejo el script:

Código PHP:
<?php
    mysql_connect
("localhost","root","root") or die ("no se ha podido conectar a la BD");

    
mysql_select_db("bandas") or die ("no se ha podido seleccionar la BD");

    
$sql "SELECT img_id,archivo_nombre,archivo_tipo,archivo_peso FROM archivos";
    
$consulta mysql_query($sql) or die ("No se pudo ejecutar la consulta");

    While (
$registro=mysql_fetch_assoc($consulta)){
        echo 
"<img src=\"ver1.php?img_id=".$registro['img_id']."\">";
        
    }

?>
Todos los datos incluida la imagen se suben a traves de un formulario para los datos y luego con un "examinar" para la imagen. Funciona todo, pero repito, a la hora de mostrarme las imagenes de cada banda, es siempre la misma.

Espero puedan iluminarme un poco con esto.
Mil gracias!

Última edición por hordasdelmal; 03/06/2009 a las 01:44