Hola a todos! tengo la siguiente tabla:
<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!
He usado este codigo previamente y tampoco se muestran los nombres
<?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);
?>
<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 :(
Claro, al menos razona por qué no funciona... veamos...
...
$result = mysqli_query($link, "SELECT * FROM clientes");
while ($row_Cliente = mysqli_fetch_array($result)){
....
metes el resultado de la consulta MySQL en un array, bien sigamos..
.
...
$row_Cliente [ $row_Cliente["id_cliente"] ] =$row_Cliente["nombre"];
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:
...
$miArrayDeNombres [ $row_Cliente["id_cliente"] ] =$row_Cliente["nombre"];
y luego
...
<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.