Tengo una tabla en mysql que tiene nom_cte|qty|monto| y estoy mostrando en la pantalla el detalle por cliente (hasta aquí sin problema), el problema radica en que despues del detalle quiero que aparezca el subtotal por ese cliente y despues el detalle del siguiente cliente. Cliente|Cantidad|Monto 1 10 150
1 5 30 1 8 20 Subtotal 1 23 200
La solución a este problema consiste en realizar dos consultas distintas: la de detalle y la que totaliza por cliente. Vas mostrando el detalle hasta que cambie de cliente y entonces muestras la fila siguiente de la consulta de totales. Por ejemplo: $detalle = mysql_query("SELECT nom_cte, qty, monto FROM tutabla ORDER BY nom_cte ASC"); $totales = mysql_query("SELECT nom_cte, SUM(qty) AS cant, SUM(Monto) AS total FROM tutabla GROUP BY nom_cte ORDER BY nom_cte ASC");
David, Gracias por la pronta y acertada respuesta, ya intente lo que me comentas y tengo los dos resultados, ahora mi problema es en que parte del script los pongo, espero que me puedas ayudar con esto. Te anexo el scrip que tengo hasta ahora y que es la consulta detalle $consulta=mysql_query("SELECT * FROM tblproductos RIGHT JOIN $tabla ON modelo = model ORDER BY ship_to_name, model"); while($row = mysql_fetch_array($consulta)){ $ship=$row["ship_to_name"]; $usermodel=$row["model"]; $pcmodel=$row["modelo"]; $qty=number_format($row["order_qty"],0); $t_qty=number_format($row["tot_qty"],0); $largo=$row["Largo"]; $ancho=$row["Ancho"]; $alto=$row["Alto"]; $tot_amt=number_format($row["net_amt_txn"],2); $vol=number_format(($largo*$ancho*$alto)*$qty,2); $piso=number_format($vol/47,2); $granel=number_format($vol/95,2); echo(" <table border='0' width='100%'cellspacing='0' cellpadding='0'> \n"); echo(" <tr> \n"); echo(" <td width='34%'> <p align='left'><b><font face='Tahoma' size='1'>$ship</font></b></td> \n"); echo(" <td width='13%'> <p align='left'><b><font face='Tahoma' size='1'>$usermodel</font></b></td> \n"); echo(" <td width='13%'> <p align='left'><b><font face='Tahoma' size='1'color='#CCOOOO'>$pcmodel</font></b></td> \n"); echo(" <td width='8%'> <p align='right'><b><font face='Tahoma' size='1'>$qty</font></b></td> \n"); echo(" <td width='8%'> <p align='right'><b><font face='Tahoma' size='1'>$tot_amt</font></b></td> \n"); echo(" <td width='8%'> <p align='right'><b><font face='Tahoma' size='1'>$vol</font></b></td> \n"); echo(" <td width='8%'> <p align='right'><b><font face='Tahoma' size='1'>$piso</font></b></td> \n"); echo(" <td width='8%'> <p align='right'><b><font face='Tahoma' size='1'>$granel</font></b></td> \n"); echo(" </tr> \n"); echo(" </table> \n"); } De nuevo, gracias por tu ayuda
Te propongo usar lo que ya tienes para aprovecharlo. Algo como esto: <?php $consulta=mysql_query("SELECT * FROM tblproductos RIGHT JOIN $tabla ON modelo = model ORDER BY ship_to_name, model"); $totales=mysql_query("SELECT shipt_to_name, SUM(order_qty) AS sumorder, SUM(tot_qty) AS total FROM tblproductos RIGHT JOIN $tabla ON modelo = model GROUP BY ship_to_name ORDER BY ship_to_name"); $ship=''; while($row = mysql_fetch_array($consulta)){ if ($ship > '' && $ship <> $row["ship_to_name"]) { $sub = mysql_fetch_array($totales); echo " <table> <tr> <td>$sub[ship_to_name]</td> <td>$sub[sumorder]</td> <td>$sub[total]</td> </tr> </table> "; } $ship=$row["ship_to_name"]; $usermodel=$row["model"]; $pcmodel=$row["modelo"]; $qty=number_format($row["order_qty"],0); $t_qty=number_format($row["tot_qty"],0); $largo=$row["Largo"]; $ancho=$row["Ancho"]; $alto=$row["Alto"]; $tot_amt=number_format($row["net_amt_txn"],2); $vol=number_format(($largo*$ancho*$alto)*$qty,2); $piso=number_format($vol/47,2); $granel=number_format($vol/95,2); echo(" <table border='0' width='100%'cellspacing='0' cellpadding='0'> \n"); echo(" <tr> \n"); echo(" <td width='34%'> <p align='left'><b><font face='Tahoma' size='1'>$ship</font></b></td> \n"); echo(" <td width='13%'> <p align='left'><b><font face='Tahoma' size='1'>$usermodel</font></b></td> \n"); echo(" <td width='13%'> <p align='left'><b><font face='Tahoma' size='1'color='#CCOOOO'>$pcmodel</font></b></td> \n"); echo(" <td width='8%'> <p align='right'><b><font face='Tahoma' size='1'>$qty</font></b></td> \n"); echo(" <td width='8%'> <p align='right'><b><font face='Tahoma' size='1'>$tot_amt</font></b></td> \n"); echo(" <td width='8%'> <p align='right'><b><font face='Tahoma' size='1'>$vol</font></b></td> \n"); echo(" <td width='8%'> <p align='right'><b><font face='Tahoma' size='1'>$piso</font></b></td> \n"); echo(" <td width='8%'> <p align='right'><b><font face='Tahoma' size='1'>$granel</font></b></td> \n"); echo(" </tr> \n"); echo(" </table> \n"); }