Título: Mostrar un registro asociado a otro?? Publicado por: Geg1 en 16 Marzo 2018, 23:44 pm Hola a todos! tengo la siguiente tabla:
Código: <table width="712" border="0"> <?php do { ?> <tr> <td width="129"><?php echo $row_Pedidos['id_pedido']; ?></td> <td width="100"><?php echo $row_Pedidos['fecha']; ?></td> <td width="107"><?php echo $row_Pedidos['cliente_id']; ?></td> <td width="130"><?php echo $row_Pedidos['producto_id']; ?></td> <td width="160" widht="20"> <td width="60" widht="20"> </td> </tr> <?php } while ($row_Pedidos = mysql_fetch_assoc($Pedidos)); ?> </table> La cual muestra todos los pedidos ordenados. Pero yo quiero que el campo "cliente_id" relacionado con la tabla "clientes" muestre el campo "nombre" asociado a este id. lo mismo con el campo "producto_id" hay alguna forma de mostrar los campos relacionados a estos id? Gracias a todos! Título: Re: Mostrar un registro asociado a otro?? Publicado por: Geg1 en 17 Marzo 2018, 17:16 pm He usado este codigo previamente y tampoco se muestran los nombres
Código: <?php $link = mysqli_connect("localhost", "root", ""); mysqli_select_db($link, "gestorpedidos"); $tildes = $link->query("SET NAMES 'utf8'"); $result = mysqli_query($link, "SELECT * FROM clientes"); while ($row_Cliente = mysqli_fetch_array($result)){ $row_Cliente [ $row_Cliente["id_cliente"] ] =$row_Cliente["nombre"]; } mysqli_free_result($result); mysqli_close($link); ?> Código: <table width="712" border="0"> <?php do { ?> <tr> <td width="129"><?php echo $row_Pedidos['id_pedido']; ?></td> <td width="100"><?php echo $row_Pedidos['fecha']; ?></td> <td width="107"><?php echo $row_Cliente[$row_Pedidos['cliente_id']]; ?></td> <td width="130"><?php echo $row_Pedidos['producto_id']; ?></td> <td width="160" widht="20"> <td width="60" widht="20"> </td> </tr> <?php } while ($row_Pedidos = mysql_fetch_assoc($Pedidos) ); ?> </table> Pero deja el campo vacio :( Título: Re: Mostrar un registro asociado a otro?? Publicado por: srWhiteSkull en 17 Marzo 2018, 19:45 pm Claro, al menos razona por qué no funciona... veamos...
Código: ... metes el resultado de la consulta MySQL en un array, bien sigamos..$result = mysqli_query($link, "SELECT * FROM clientes"); while ($row_Cliente = mysqli_fetch_array($result)){ .... . Código: ... metes un elemento dentro del array de resultados?! pero que c***nes!?! Ahí tienes que crear un array!!! no uses el del resultado!!! por ejemplo:$row_Cliente [ $row_Cliente["id_cliente"] ] =$row_Cliente["nombre"]; Código: ... $miArrayDeNombres [ $row_Cliente["id_cliente"] ] =$row_Cliente["nombre"]; y luego Código: ... <td width="107"><?php echo $miArrayDeNombres[$row_Pedidos['cliente_id']]; ?></td> buff, hay que espabilar chaval :xD PD Por si acaso comprueba que el array de nombres que creas está lleno , por ejemplo usando echo var_dump($miArrayDeNombres); y es importante que el $row_Pedidos['cliente_id'] te de las claves necesarias para devolver esos valores. |