Foros del Web » Programando para Internet » PHP »

Mostrar datos de una tabla con fk

Estas en el tema de Mostrar datos de una tabla con fk en el foro de PHP en Foros del Web. Buenas, estoy comenzando en esto y me tope con este problema, Tengo este codigo Código PHP: <label for="">Necesito una computadora para...</label> <select name=""> <option selected="selected" value="none" >..</option> <?php          $dbc = mysqli_connect ( ...
  #1 (permalink)  
Antiguo 01/08/2014, 01:24
 
Fecha de Ingreso: agosto-2014
Mensajes: 2
Antigüedad: 9 años, 8 meses
Puntos: 0
Mostrar datos de una tabla con fk

Buenas, estoy comenzando en esto y me tope con este problema,

Tengo este codigo

Código PHP:
<label for="">Necesito una computadora para...</label>
<select name="">
<option selected="selected" value="none" >..</option>
<?php
    
    $dbc
=mysqli_connect(U_HOST,U_USER,U_PSW,U_DB); 
    
    
$query="select * from uso_producto order by us_descripcion";
    
    
$result=mysqli_query($dbc,$query);

    while(
$row=mysqli_fetch_array($result))
     { 
        echo 
'<option value="'.$row['us_id'].'" >'.$row['us_descripcion'].'</option>';
     }
?>
    </select>
Esta tabla "uso_producto" se relaciona con otra que se llama "producto", lo que quiero hacer es que me muestre el registro dependiendo la opción seleccionada en "us_id"

muchas gracias, si no me doy a entender podría explicarlo mejor si me lo piden.
  #2 (permalink)  
Antiguo 01/08/2014, 05:07
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Mostrar datos de una tabla con fk

No se entiende muy bien lo que necesitas.... Mostrar productos en funcion de un us_id?

La relación es 1 a N es decir un uso se relaciona con varios productos o es un producto con varios usos...

Código MySQL:
Ver original
  1. SELECT * FROM productos WHERE us_id=$_REQUEST["us_id"];

Si la relacion és N productos paracada uso.


Código MySQL:
Ver original
  1. SELECT p.*
  2. FROM productos p INNER JOIN  uso_producto u
  3.         ON p.id_Producto=u.id_Producto
  4. WHERE u.us_id=$_REQUEST["us_id"]

Si para cada producto puede haber N usos...

Aún hay otra opción la relación N:M habria que saber el nombre de la tabla de relación.

Código MySQL:
Ver original
  1. SELECT p.*
  2. FROM productos p INNER JOIN  relProductosUsos r
  3.         ON p.id_Producto=r.id_Producto
  4. WHERE r.us_id=$_REQUEST["us_id"]

Ojo con los nombres de los campos he hecho una suposición, ahora no medigas que no funciona sin cambiarlos.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 01/08/2014, 11:51
 
Fecha de Ingreso: agosto-2014
Mensajes: 2
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Mostrar datos de una tabla con fk

Muchas gracias por responder de verdad, tratare de explicarlo mejor.

Tengo esto, que es el codigo de arriba.



Lo que quiero es que, si por ejemplo selecciono "video juegos"
me muestre los registros de esta tabla con la que esta relacionada.



Y quede algo asi...



.
  #4 (permalink)  
Antiguo 01/08/2014, 13:37
 
Fecha de Ingreso: mayo-2014
Mensajes: 20
Antigüedad: 9 años, 11 meses
Puntos: 3
Respuesta: Mostrar datos de una tabla con fk

Déjame ver si entendi, lo que estas haciendo es una consulta sobre categorías de computadoras. Primero selecciono una categoría y después se muestran las computadoras de esa categoría. Si es así te propongo la siguiente solución:

Agrega a tu formulario un botón de enviar de tal manera que el mismo te sirva para hacer una nueva consulta con lo que el usuario selecciono en el paso uno.

El formulario nos llevaría a ejecutar la siguiente consulta:

Código PHP:
Ver original
  1. <?php    
  2.     $dbc=mysqli_connect(U_HOST,U_USER,U_PSW,U_DB);  
  3.    
  4.     $categoria = $_POST['categoria'];
  5.     if (isset($_POST['categoria']))
  6.        $query="select * from producto WHERE pro_uso = $categoria order by pro_nombre";
  7.        $result=mysqli_query($dbc,$query);
  8.     }
  9.  
  10.     while($row=mysqli_fetch_array($result))  {  
  11.         echo 'Nombre:'.$row['pro_nombre'];
  12.     }
  13. ?>


Espero haberme explicado y te sea de ayuda el código. Si quedan dudas avisame.

Etiquetas: registro, select, sql, tabla
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 10:17.