Hola BMIS,
Bueno estaba un poco vago y quise rápidamente codificar tu ejemplo.
Problema :
Dada una fecha poder determinar cuantos lunes , martes ... han pasado.
Posible solución:
Código PHP:
Ver originalfunction count_dias($fecha = "")
{
# Reseteo la matriz
'lunes' => 0,
'martes' => 0,
'miercoles' => 0,
'jueves' => 0,
'viernes' => 0,
'sabado' => 0,
'domingo' => 0,
);
# Descompongo la fecha para poder tener manejo.
#Realizo un for hasta el ultimo dia de tu fecha para ir contando cada dia
for ($i=1; $i<=$f[2]; $i++){
switch($day){
case 1:
$d['lunes']++;
break;
case 2:
$d['martes']++;
break;
case 3:
$d['miercoles']++;
break;
case 4:
$d['jueves']++;
break;
case 5:
$d['viernes']++;
break;
case 6:
$d['sabado']++;
break;
case 7:
$d['domingo']++;
break;
default:
break;
}
}
return $d;
}
$resultado = count_dias('2012-04-27');
/*
Creo una tabla para que lo veas un poco mas claro
*/
$table = "<table border=1>";
$table .= "<tr>";
$table .= "<th>Lunes</th><th>Martes</th><th>Miercoles</th><th>Jueves</th><th>Viernes</th><th>Sabado</th><th>Domingo</th>";
$table .= "</tr>";
$table .= "<tr>";
$table .= "<td>".$lunes."</td><td>".$martes."</td><td>".$miercoles."</td><td>".$jueves."</td><td>".$viernes."</td><td>".$sabado."</td><td>".$domingo."</td>";
$table .= "</tr>";
$table .= "</table>";
echo $table;
Nota: Utilice el formato de fecha de mysql 0000-00-00
Funciones que utilice :
extract date strtotime
Saludos.