Pues no veo mucha diferencia con o sin bd....
Podrías hacer una consulta que abarque todo el intervalo de tiempo a consultar para hacer la consulta más rápida y separar ya en el arreglo por fecha.
Suponiendo que tu fecha estuviera como dices, con un número de mes:
Código PHP:
Ver original$ventas=mysql_query("select numero, monto,fecha from ventas where fecha between 1 and 5 order by fecha asc");//consultamos el intervalo entre el mes uno y 5 (aquí depende del formato real en que tengas la fecha)
if(isset($venta[$v['numero']][$v['fecha']]))//si ya existe $venta[$v['numero']][$v['fecha']] $venta[$v['numero']][$v['fecha']]+=$v['monto'];//le sumamos el monto
else
$venta[$v['numero']][$v['fecha']]=$v['monto'];//le asignamos el monto
}
Te quedaría un arreglo ordenado por fecha, numero y monto, y lo podrías desplegar así:
Código PHP:
Ver originalecho "<table><thead><tr><th>Numero</th><h>Ene</th><h>Feb</th><h>Mar</th><h>Abr</th><h>May</th></tr></thead>";//ponemos encabezados
foreach($venta as $numero =>$mat){//recorremos por numero
echo "<tr><td>$numero</td> ";
foreach($mat as $mes =>$monto){//recorremos por mes y extraemos el monto del mes
echo "<td>$monto</td> ";
}
echo "</tr>";
}
echo "</table>";