Foros del Web » Programando para Internet » PHP »

Relacionar datos de una tabla con una imagende otra tabla

Estas en el tema de Relacionar datos de una tabla con una imagende otra tabla en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 03/06/2009, 00:56
Avatar de hordasdelmal  
Fecha de Ingreso: mayo-2009
Mensajes: 8
Antigüedad: 14 años, 10 meses
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
  #2 (permalink)  
Antiguo 03/06/2009, 01:20
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Relacionar datos de una tabla con una imagende otra tabla

Creo que a simple vista en ver_imagen.php (o ver1.php?? no entendi muy bien esa parte) debes agregarle el WHERE en la consulta sql ya que si no traera siempre todas las imagenes y mostrara solo la primera.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 03/06/2009, 01:33
Avatar de hordasdelmal  
Fecha de Ingreso: mayo-2009
Mensajes: 8
Antigüedad: 14 años, 10 meses
Puntos: 0
Cita:
Creo que a simple vista en ver_imagen.php (o ver1.php?? no entendi muy bien esa parte) debes agregarle el WHERE en la consulta sql ya que si no traera siempre todas las imagenes y mostrara solo la primera.
Lo del archivo ver1.php fue un error mio cuando hice el posteo.
Fijate que ahi agregue un script mas.
Gracias por responder!

Queria aclarar que basicamente el upload de imagenes de mis script estan basados y adaptados de un viejo tutorial del usuario Cluster. No puedo dejarles el link porque soy nuevo.

Si no se entiende algo por favor me avisan.
Si alguien me puede tirar un cable... lo agradecere.

Ya lo solucione. Gracias Marvin por tu respuesta. Saludos!

Última edición por GatorV; 05/06/2009 a las 10:01
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:36.