Foros del Web » Programando para Internet » PHP »

Relacionad datos de dos tablas

Estas en el tema de Relacionad datos de dos tablas en el foro de PHP en Foros del Web. Hola buenas. Tengo dos tablas: Familias: id, nombre Categorias: id, idcategoria, nombre Lo que necesito en un listado es combinar los datos de las dos ...
  #1 (permalink)  
Antiguo 20/05/2010, 05:11
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Relacionad datos de dos tablas

Hola buenas.

Tengo dos tablas:

Familias: id, nombre

Categorias: id, idcategoria, nombre

Lo que necesito en un listado es combinar los datos de las dos tablas y que me mostrase algo asi:

ID - Nombre Familia - Nombre categoría

El tema de la relación de tablas la verdad que me trae de cabeza no logro cogerle el truco y me lio mucho

el select que he creado es el siguiente
Código PHP:
$sql="SELECT categoria.id, categoria.idfamilia, categoria.nombre, familia.nombre FROM categoria, familia WHERE familia.id=categoria.idfamilia"
Pero no funciona

para recoger los datos utilizo esto

Código PHP:
$id=$fila["id"];
$familia=$fila["idfamilia"];
$categoria=$fila["nombre"]; 
y lo que hace es mostrarme el id de la categoria despues el id de la familia y por último el nombre de la familia.

Alguien me puede decir como relacionar las tablas?


Muchas gracias una vez mas.

Saludos.

Fernando.
  #2 (permalink)  
Antiguo 20/05/2010, 05:17
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Relacionad datos de dos tablas

Hola de nuevo no hace falta que me respondan ya.

Lo he solucionado el fallo estaba en que tanto en la tabla familia como en categoría tengo un campo llamado igual en este caso NOMBRE

la solución la pongo a continuación por si le puede servir a alguien

Código PHP:
            //* * * * * * * * * * Listado categorias * * * * * * * * * *
            if (isset($_GET["categorias"])){
                $sql="SELECT categoria.id as id, categoria.nombre as categoria, familia.nombre as familia FROM categoria, familia WHERE familia.id=categoria.idfamilia ORDER BY familia, categoria LIMIT 0,20";
                $r=mysql_query($sql, $link);
        ?>
                <table class="div_tabla560">
                    <tr class="div_tr_titulo">
                        <th class="div_tr_codigo">Id</th>
                        <th class="div_tr_denominacion">Familia</th>
                        <th class="div_tr_denominacion">Categoría</th>
                    </tr>
         <?php
                     
while ($fila=mysql_fetch_assoc($r)){
                        
$id=$fila["id"];
                        
$familia=$fila["familia"];
                        
$categoria=$fila["categoria"];
         
?>
                    <tr class="div_tr">
                         <td class="div_codigo"><?php echo $id?></td>
                        <td class="div_denominacion"><?php echo $familia?></td>
                        <td class="div_denominacion"><?php echo $categoria?></td>
                    </tr>
          <?php
                          
}
          
?>
                </table>
Saludos y gracias.

Fernando.

Etiquetas: dos, tablas
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:02.