Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Salve pessoal joia? tenho um sistema de agendamento de serviço para um responsável com data inicial e data final.
o grande porem! bloquear para que não haja outro agendamento para quele funcionário no período que ele já estiver com outro serviço agendado.
Dei uma olhada na net e achei isso aqui, acho que já é meio caminho andado:
>
-
$dateStart = '20/04/2013';
-
$dateStart = implode('-', array_reverse(explode('/', substr($dateStart, 0, 10)))).substr($dateStart, 10);
-
$dateStart = new DateTime($dateStart);
-
-
$dateEnd = '25/04/2013';
-
$dateEnd = implode('-', array_reverse(explode('/', substr($dateEnd, 0, 10)))).substr($dateEnd, 10);
-
$dateEnd = new DateTime($dateEnd);
-
-
$dateRange = array();
-
while($dateStart <= $dateEnd){
-
$dateRange[] = $dateStart->format('Y-m-d');
-
$dateStart = $dateStart->modify('+1day');
-
-
var_dump($dateRange);
joia ele lista em forma de array o intervalo entre as datas, agora me desculpem a ignorância, como utilizar este array para impedir de agendar um serviço dentro deste intervalo para o tal funcionário?
O meu agendamento não envolve horários somente datas, de 00:00am da data inicial ate 23:59pm da data final, gostei da dica do in_array vou tentar
Certo, o in_array resolveu para mim fazer o bloqueio, agora no decorrer do projeto senti a necessidade de definir dentro de um pequeno calendario que dia deste serviço é com relação a hoje: ex: o serviço é entre o dia 23/07/2015 a 26/07/2015 como irei falar que hoje dia 24/07/2015 é o Segundo dia daquele serviço?
pensei que talvez pudesse ser simples como por exemplo fazer um if
if($dateRange == $hoje){
echo "hoje é o segundo dia";
}
porem obvio que não deu certo, teria de ser algo assim pelo que entendi mais ou menos
if($dateRange[1] == $hoje){
echo "hoje é o segundo dia";
}
a alguma forma de fazer isso sem ter que colocar o numero do array? ou alguma forma de fazer isso que ainda não pensei?
Comparar o timestamp e ver se é menor ou igual a hoje.
Vc pode usar a função in_array. Na hora de cadastrar um novo, vc verifica com ela se o valor já não está no arrray.
Na verdade, eu trabalharia isso tudo no banco de dados.
Teria horários predefinidos:
9h, 9h30, 10h, 10h30, e uma simples consulta no banco me retornaria se "pode ou não" agendar. Creio que será bem mais simples.
Vc pode "fixar horários" ?