Bueno, como todo lo que hago yo esto no iba a ser facil.
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>');
}
Como mi diminuto cerebro no podia comprender esto lo "traduje" a mysql y el resultado fue este:
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";
}
El resultado en ambos casos es el mismo (deberia ¿no?) pero por motivos que desconozco tiene un error.
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!!