Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Detonador PHP

Problema com busca entre datas

Recommended Posts

Olá pessoal, blz?
Olha só... tenho um sistema de reserva de salas, onde você informa a data e hora de início da reserva e a data e hora do fim da reserva.

 

Até ai tudo tranquilo, mas ai que vem o porém.

Meu sistema não pode deixar alguém fazer uma reserva entre os horários que a sala já esteja ocupada, ou seja:

 

08:00 -- [ 08:30 -- 09:00 -- 09:30 ] -- 10:00 -- (primeira reserva)

08:00 -- 08:30 -- [ 09:00 -- 09:30 -- 10:00 ] -- (isso não pode acontecer)

 

E para isso eu tenho uma consulta que verifica se existe alguma reserva para o usuário que o usuário precisa, ou seja:

 

 

 

$queryReservas = 
    "SELECT 
        EventoID 
    FROM 
        Evento 
    WHERE 
        (
            dataInicio >= '{$dataInicio}' 
            AND dataFinal <= '{$dataInicio}'
        ) 
        OR 
        (
            dataInicio >= '{$dataFinal}' 
            AND dataFinal <= '{$dataFinal}'
        ) 
    LIMIT 1"
;

$resultadoReservas = mysql_query($queryReservas);

if(mysql_num_rows($resultadoReservas)) {


    echo 'ERRO|Já existe uma reserva para esta data e horário. Por favor, selecione ao mínimo outro horário.';


}else{


    echo 'OK|' . $eventoID . '-' . $usuario['Nome'] . '-' . dataEventoAjax($dataEvento, $horaInicio) . '-' . dataEventoAjax($dataEvento, $horaFinal);


}

Só que mesmo tendo registros entre estes horários minha pesquisa sempre retorna 0.

Alguém pode me dizer o que posso estar fazendo de errado?

 

Abraço a todos!

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegue a partir daquela consulta criar um exemplo?
Não to vendo como ele poderia ser resolvido com between. Acho que não vai fechar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

({$dataInicio} between datainicio and datafinal or

{$datafinal} between datainicio and datafinal )

 

Tente assim :

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.