• Viernes 8 de Noviembre de 2024, 13:37

Autor Tema:  Relacionar dos tablas.  (Leído 1875 veces)

Gaug

  • Miembro activo
  • **
  • Mensajes: 26
    • Ver Perfil
Relacionar dos tablas.
« en: Viernes 24 de Julio de 2009, 23:35 »
0
Hola.

Tengo un problema, quiero relacionar 2 tablas y mostrarlas en una lista desplegable, pero llegué a un punto en el que no logro encontrar la respuesta, primero que nada les pongo un ejemplo de las tablas:

[php:2vurgxcc]
  1.  
  2. Tabla: tabla1
  3.  
  4. id     descrip                    (campos)
  5.  
  6. 25    descrip25                (valores)
  7. 20    descrip20
  8. 15    descrip15
  9.  
[/php:2vurgxcc]

[php:2vurgxcc]
  1.  
  2. Tabla: tabla2
  3.  
  4. id     llave                    (campos)
  5.  
  6. 25    8596                   (valores)
  7. 20    8596
  8. 15    0002
  9.  
[/php:2vurgxcc]

Bueno supongamos que aquí la llave que yo tengo es '8596', entonces me debe tomar los valores 25, y 20; y móstrarlos en la lista desplegable con éste código:

[php:2vurgxcc]
  1.  
  2. <?php
  3.   $query_Recordset = "SELECT llave,id FROM tabla2 WHERE llave = '".$llave."'";
  4. $Recordset = mysql_query($query_Recordset, $conex) or die(mysql_error());
  5. $row_Recordset = mysql_fetch_assoc($Recordset);
  6.  
  7. do{
  8.  ?>
  9. <option value="<?php echo $row_Recordset['llav']; ?>"><?php echo $row_Recordset['id'];?> </option>
  10. <?php }while($row_Recordset= mysql_fetch_assoc($Recordset)); ?>
  11.  
[/php:2vurgxcc]

Hasta ahí todo bien porque sólo estoy mostrando el id, pero cuando lo quiero relacionar con 'tabla1' para que me muestre las descripciones, hice algo así:

[php:2vurgxcc]
  1.  
  2. <?php
  3.   $query_Recordset = "SELECT tabla1.id,tabla2.id AS Id,tabla1.descrip FROM tabla1,tabla2 WHERE tabla2.llave= '".$llave."' AND tabla2.id=tabla1.id ";
  4. $Recordset = mysql_query($query_Recordset, $conex) or die(mysql_error());
  5. $totalRows_Recordset = mysql_num_rows($Recordset);
  6.  
  7.  
  8. while($row_Recordset= mysql_fetch_assoc($Recordset)); {
  9.  ?>
  10. <option value="<?php echo $row_Recordset['id']; ?>"><?php echo $row_Recordset['descrip'];?> </option>
  11. <?php } ?>
  12.  
  13. </select>
  14.  
[/php:2vurgxcc]

Ahí en vez de mostrarme 'descrip25' y 'descrip20', no me muestra nada, ¿cómo podría editar el código para que me mostrara ambos, osea los que coincidan con el 'id' de la 'tabla1'?

Espero puedan ayudarme, gracias de antemano.

Saludos.

EDIT: Resuelto, era problema de mi BD.

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Relacionar dos tablas.
« Respuesta #1 en: Sábado 25 de Julio de 2009, 15:20 »
0
Primero haz la relación de la consulta, ósea, tabla2.id=tabla1.id y de último haz la primera validación.

Pregunta???
Por qué estás usando 2 tablas si en una puedes agregar todos esos campos, sin necesidad de relaciones?
El pasado son solo recuerdos, el futuro son solo sueños