Para los que no vieron la primera parte de este drama la cosa es asi
Tengo que hacer una consulta que busque dentro de varias tablas los registros correspondientes al cliente que ingresa al sitio.
Tengo la tabla pedido que guarda el idpedido, la fecha y que cliente lo hizo
La tabla detalle guarda el iddetallepedido, idpedido (mismo que en la tabla pedido), productos que pidio el cliente, cantidad y total.
La consulta me parecia ser facil. Deberia buscar dentro de pedido cuales les corresponden al cliente que ingreso al sitio, almacenar esos idpedido y buscar dentro de detalla que registros tienen ese idpedido y mostrarlos.
Al final no resulto tan facil y pedi ayuda y el estimado jmaribau me paso una sentencia sql me iba a servir para eso, que es:
Código PHP:
$sql = 'select * from pedido as p, detalle as d, productos as pr where p.idcliente=1 and d.iddetallepedido = p.idpedido and d.idproducto = pr.idproducto';
$query = mysql_query($sql);
while ($row = mysql_fetch_assoc($query))
{
echo ('<pre>');
print_r($row);
echo ('</pre>');
}
Código PHP:
$result = mysql_query ("select * from pedido as p, detalle as d, productos as pr where p.idcliente='$ncliente' and p.idpedido = d.iddetallepedido and d.idproducto = pr.idproducto");
$numeroRegistros=mysql_num_rows($result);
echo ("<br><font alig='center' class='Titulo'> Se encontraron $numeroRegistros pedidos de este cliente<p>");
while($r=mysql_fetch_assoc($result))
{
$IdCliente=$r["IdCliente"];
$IdPedido=$r["IdPedido"];
$PedidoFecha=$r["Fecha"];
$IdDetallePedido=$r["IdDetallePedido"];
$IdProducto=$r["IdProducto"];
$Cantidad=$r["Cantidad"];
$ProductoNombre=$r["Producto"];
$ProductoImporte=$r["Importe"];
$TotalProducto = $ProductoImporte*$Cantidad;
echo "<table width='100%' border='0' cellspacing='0' cellpadding='0'>\n";
echo "<tr>\n";
echo "<td width='7%'>$IdCliente</td>\n";
echo "<td width='7%'>$IdPedido</td>\n";
echo "<td width='12%'>$IdDetallePedido</td>\n";
echo "<td width='5%'>$PedidoFecha</td>\n";
echo "<td width='40%'>$ProductoNombre</td>\n";
echo "<td width='14%'><div align='center'>$Cantidad</div></td>\n";
echo "<td width='13%'><div align='center'>$ProductoImporte</div></td>\n";
echo "<td width='9%'><div align='center'>$TotalProducto</div></td>\n";
echo "</tr>\n";
echo "</table>\n";
}
La cantidad de registros que resultan de esta busqueda es correcta, o sea, si el cliente 1 tiene 117 pedidos me muestra 117 registros pero no son correctos esos registros que muestra.
Alguno sabe que puede llegar a ser? u otra forma de hacer esta locura?
Muchas gracias por la paciencia!!