[RESOLVIDO] Validação de horários no calendário

Boa tarde pessoal,
Estou começando agora a utilizar o SC e estou criando um sistema de agendamento e preciso validar se já existe um registro em determinados horários antes de inserir no banco.
Então criei um método PHP chamado verificar_hora_disp com o seguinte código e coloquei no evento onBeforeInsert do calendário:

$data = {start_date};
$hora_ini = {start_time};
$hora_fim = {end_time};

$sql = “select start_time, end_time from calendar where start_date = $data”;

sc_lookup(ds, $sql);

if(!empty({ds})){
$cont = count({ds});

for ($i = 0; $i < $count; $i++){
	if ($hora_fim >= {ds[$i][0]} && $hora_ini <= {ds[$i][1]}){
		sc_error_message("Horário desejado não está disponível, favor verificar calendário!");
	}
}

}

Porém ele continua deixando criar eventos em horários já cadastrados.
Alguém tem alguma sugestão do que possa estar acontecendo ou se eu estou fazendo alguma programação errada?

da um echo nesse for pra vê oque traz…

echo ‘hora_fim’.$hora_fim.’>= hora_ini’.{ds[$i][0]};

faz o msm para hora_ini… e vê oque traz, provavel que não esteja entrando no if.

1 Curtida

A hora inicial não deve ser >= a hora inicial agenda da e nem < que a hora final agendada ou
A hora final não pode ser > que a hora inicial agendada nem <= hora final agendada.

2 Curtidas

Tô fazendo alguns testes aqui e percebi que meu lookup tá retornando vazio, porém quando executo o comando sql no sql builder ele retorna vários resultados de acordo com a data escolhida.

falta aspas simples na sua variavel
$sql = “select start_time, end_time from calendar where start_date = ‘$data’”;

2 Curtidas

vlw, essa parte deu certo , agora vou verificar o if e o for pra ver

Obrigado @lucasmatsumoto e @InfinitusWeb pela ajuda, deu certo aqui.
Consegui fazer as validações, mais uma vez muito obrigado pela ajuda de vcs!!

1 Curtida

Olá, Rafael. Qual era o erro?

Faz um tempo que esse user não loga no fórum, talvez demore a resposta, mas pelo o que eu entendi foi a falta de aspas na variável ali, como o lucas disse

Então, ainda, ao uso da aspas não foi o suficiente para resolver o problema, mas resolveu esta sintaxe

Olá, @jcesarml
O erro estava no for. Não tinha percebido, mas tinha um erro de digitação em uma variável que eu usei.

1 Curtida