Hola amigos, aqui una vez mas con otra duda desde ya agradeciendo a todos !!!
tengo la siguiente pregunta, tengo que hacer un reporte que compare cantidades en rangos de fechas. por ejemplo el usuario entra un rango de fecha y debo buscar en la base de datos la marca y el modelo la cantidad que se vendio y compararlo con la misma marca y modelo en el mismo rango de fecha pero del anno anterior. Diferentes clientes pueden comprar distintos modelos y necesito la cantidad que cmpro cada cliente y la suma total de todas las compras de ese modelo
Código PHP:
// $dat1 Fecha inicio y $date2 fecha final
$query = mysql_query("SELECT marca, modelo, cliente, qty
FROM table WHERE date BETWEEN '$date1' AND '$date2'");
// debo calcular el mismo rango de fecha para el anno anterior
$date_1y = strtotime ( '-1 year' , strtotime ( $date1 ) ) ;
$date_1y = date ( 'Y-m-j' , $date_1y );
// Fecha final
$date_2y = strtotime ( '-1 year' , strtotime ( $date2 ) ) ;
$date_2y = date ( 'Y-m-j' , $date_2y );
// Mostrar resutlados.
while($resultado = mysql_fetch_array($query)){
// Obtener valores en variables.
$marca = $resultado['marca'];
$modelo = $resultado['modelo'];
$cliente = $resultado['cliente'];
$cantidad = $resultado['qty'];
// Mostrar los resultado en una tabla.
echo "<table><tr>";
echo "<td>Marca</td>";
echo "<td>Modelo</td>";
echo "<td>Cliente</td>";
echo "<td>Qty-1</td>";
echo "<td>Qty-2</td>";
echo "<td>Diferencia</td>";
echo "</tr><tr>"
echo "<td>".$marca"</td>";
echo "<td>".$modelo"</td>";
echo "<td>".$cliente"</td>";
echo "<td>".$qty"</td>";
// Buscar la misma marca y modelo pero en el anno anterior
$query2 = mysql_query("SELECT qty FROM table
WHERE date BETWWEN $date_1y AND $date_2y
AND marca = '$marca'
AND modelo='$modelo'
AND cliente = '$cliente'");
$qty_2 = mysql_fetch_array($query2);
// Mostrar cantidad del anno anterior.
echo "<td>".$qty_2['qty']."</td>";
echo "<td>".$qty - $qty2."</td>";
// AQUI ES MI DUDA. Cuando termine un modelo hacer una suma total.
// terminr la tabla.
echo "</tr></table>";
}
Pregunta: Como puedo manipular los datos dentro del loop while que le pueda decir a mi programa cuando acabe un modelo sumame la cantidad por anno, primero actual y despues anno anterior y devuelveme el valor ??
Quisiera obtener algo asi:
-----------------------------------------------------------------
Marca | Modelo | Cliente | Qty1 | Qty2 | Diferencia |
-----------------------------------------------------------------
1 | 1.1 | A | 30 | 20 | +10 |
1 | 1.1 | B | 20 | 40 | -20 |
1 | 1.1 | C | 50 | 10 | +40 |
-----------------------------------------------------------------
Total Marca: 1 Modelo: 1.1 | 100 | 70 | +30 |
-----------------------------------------------------------------
1 | 1.2 | A | 20 | 10 | +10 |
1 | 1.2 | C | 30 | 40 | -10 |
-----------------------------------------------------------------
Total marca: 1 Modelo: 1.2| 50 | 50 | 0 |
-----------------------------------------------------------------
Muchas Gracias a todos de antemano !!!!