Ver Mensaje Individual
  #3 (permalink)  
Antiguo 09/09/2015, 16:15
oggy_15_3
 
Fecha de Ingreso: marzo-2015
Mensajes: 183
Antigüedad: 9 años, 8 meses
Puntos: 8
Respuesta: Agrupar por dia y sumar

A diferencia de xfxstudios, yo te entiendo de otra manera,
en la que solo tienes una tabla "vacaciones" y si bien es cierto el GROUP BY te permite agrupas registros, pero tú no tienes registros de n fechas almacenadas.
Por ello yo lo solucionaría de la siguiente manera.
Código PHP:
Ver original
  1. $aVacaciones[]=array('id'=>5,'fecha_inicio'=>'2015-02-22','fecha_fin'=>'2015-02-26');
  2. $aVacaciones[]=array('id'=>6,'fecha_inicio'=>'2015-02-18','fecha_fin'=>'2015-02-24');
  3.  
  4. $sFiltroFechaIni='2015-02-15';$sFiltroFechaFin='2015-02-28';
  5. $aGrupoFecha=array();
  6. $nFecha=0;
  7. for($nTime=strtotime($sFiltroFechaIni);$nTime<=strtotime($sFiltroFechaFin);$nTime=strtotime('+1 day'.date('Y-m-d',$nTime))){
  8.     //$aGrupoFecha[$nTime]
  9.     $aGrupoFecha[$nFecha]['time']=$nTime;
  10.     $aGrupoFecha[$nFecha]['count']=0;
  11.     foreach($aVacaciones as $row){//while($row=mysql_fetch_array($result)){
  12.         $sFechaIni=$row['fecha_inicio'];$sFechaFin=$row['fecha_fin'];
  13.         for($x_nTime=strtotime($sFechaIni);$x_nTime<=strtotime($sFechaFin);$x_nTime=strtotime('+1 day'.date('Y-m-d',$x_nTime))){
  14.             if($nTime==$x_nTime){
  15.                 $count=$aGrupoFecha[$nFecha]['count'];
  16.                 $count+=1;
  17.                 $aGrupoFecha[$nFecha]['count']=$count; 
  18.             }
  19.         }
  20.    
  21.     }
  22.     $nFecha++;
  23. }
  24.  
  25. foreach($aGrupoFecha as $row){//IMPRIME EL RESULTADO FINAL
  26.     echo date("Y-m-d",$row['time']).":".$row['count']."<br>";  
  27. }

Ya que estas usando datos de una tabla reemplaza el foreach que uso por el while que esta como comentario.
El query que deberías usar es "SELECT id,fecha_inicio,fecha_fin FROM vacaciones WHERE fecha_inicio>='$sFiltroFechaIni' AND fecha_inicio<='$sFiltroFechaFin'".
Es decir las variables que determinaran el rango de fechas a usar en la condicional.
Espero te sirva.

Última edición por oggy_15_3; 09/09/2015 a las 16:59