que tal forer@s,
traigo este problemilla, veran, tengo un arreglo mas o menos asi:
$items =
array(
array("fecha"->"2014-05-26", "clave"->"11"),
array("fecha"->"2014-05-26", "clave"->"10"),
array("fecha"->"2014-05-26", "clave"->"06"),
array("fecha"->"2014-05-26", "clave"->"10"),
array("fecha"->"2014-05-27", "clave"->"11"),
array("fecha"->"2014-05-27", "clave"->"06"),
array("fecha"->"2014-05-28", "clave"->"10"),
array("fecha"->"2014-05-28", "clave"->"10"),
array("fecha"->"2014-05-28", "clave"->"02"),
array("fecha"->"2014-05-28", "clave"->"01"),
array("fecha"->"2014-05-29", "clave"->"06"),
array("fecha"->"2014-05-29", "clave"->"02"),
array("fecha"->"2014-05-30", "clave"->"10"),
array("fecha"->"2014-05-30", "clave"->"03")
);
como se observa es una fecha y una clave, la fecha esta ordenada de menor a mayor.
la idea es obtener lo siguiente:
clave: 01
fecha: 2014-05-26
total:0
fecha: 2014-05-27
total:0
fecha: 2014-05-28
total:1
fecha: 2014-05-29
total:0
fecha: 2014-05-30
total:0
--
clave: 02
fecha: 2014-05-26
total:0
fecha: 2014-05-27
total:0
fecha: 2014-05-28
total:1
fecha: 2014-05-29
total:1
fecha: 2014-05-30
total:0
--
clave: 03
fecha: 2014-05-26
total:0
fecha: 2014-05-27
total:0
fecha: 2014-05-28
total:0
fecha: 2014-05-29
total:0
fecha: 2014-05-30
total:1
--
clave: 06
fecha: 2014-05-26
total:1
fecha: 2014-05-27
total:1
fecha: 2014-05-28
total:0
fecha: 2014-05-29
total:1
fecha: 2014-05-30
total:0
--
clave: 10
fecha: 2014-05-26
total:2
fecha: 2014-05-27
total:0
fecha: 2014-05-28
total:2
fecha: 2014-05-29
total:0
fecha: 2014-05-30
total:1
--
clave: 11
fecha: 2014-05-26
total:1
fecha: 2014-05-27
total:1
fecha: 2014-05-28
total:0
fecha: 2014-05-29
total:0
fecha: 2014-05-30
total:0
es decir, agrupar por clave y fecha y contar cuantos hay en cada uno.
mi idea es:
Código PHP:
$inicio = "2014-05-26";
$fin = "2014-05-30";
foreach($claves as $clave){
for($i=$inicio;$i<=$fin;$i=date('Y-m-d', strtotime('+1 day'))){
for($j=0;$j<count($items);$j++){
if($items[$j]['fecha']==$i){
$acomulado++;
}
}
}
}
pero de ahi ya no se como recabar la informacion como la necesito, ni donde reiniciar el acomulado.
primero recorro las claves, por cada clave, recorro las fechas desde la inicial y le voy sumando un dia hasta la fecha final, dentro de este ciclo recorro todo el arreglo items y pregunto si es la misma fecha entonces le acomulo uno.
el problema como ya dije es que ya no me imagino como recabar en otro arreglo la informacion que necesito y que si este metodo es bastante tardado y ademas cuando haya mas datos yo creo que va a tronar.
si ustedes tienen alguna sugerencia o aporte se los agradeceria mucho.