Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Consultar registro do banco de dados em intervalos de duas datas MySQL

23-06-2016 21:03

Nesse post vou mostrar como fazer uma busca para procurar registros no banco de dados em intervalos de datas, data inicial e data final.
Essa dica serve para impedir que dois registros sejam agendados no mesmo período.

Vamos imaginar a seguinte situação.

Há o seguinte registro na tabela agenda

id | data_inicio | data_fim

1 | 2016-01-01 | 2016-01-10


* formato aaaa-mm-dd

Nesse exemplo eu tenho um registro que vai do dia 01 até o dia 10 de Janeiro de 2016.
O objetivo é não permitir que nenhum agendamento seja feito em que a data pegue esse período já registrado no banco de dados.

Vamos supor que um usuário tente cadastrar algo no seguinte período:

Data Inicial = 2016-01-05
Data Final = 2016-01-11


Nesse exemplo o período entrado pelo usuário vai encontrar um registro que já está no período escolhido, impedindo o novo agendamento no banco de dados.

Você vai precisar usar essas variáveis.

$DataIni = "2016-01-05"; // DATA INICIAL DO USUÁRIO $DataFim = "2016-01-11"; // DATA FINAL DO USUÁRIO

E a seguinte query:

SELECT * FROM SuaTabela WHERE (data_inicio BETWEEN '$DataIni' AND '$DataFim') OR (data_fim BETWEEN '$DataIni' AND '$DataFim'

0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado