Pessoal, boa tarde. Gostaria de contar com a ajuda (e sugestões) de vocês.
Tenho desenvolvido um sistema de cotação de diárias para hotéis no qual é realizado uma busca entre uma data inicial e uma data final atraves de uma query no mysql, e essa query me retorna as respectivas diárias cadastradas entre essas duas datas. (cada diária cadastrada também possui uma data inicial e final)
A query me retorna exatamente o que eu preciso, porém ainda me falta algo: Que ela me retorne o numero de dias dentro de cada diária.
Pode ser tanto com a quantidade de dias ou as duas datas.
Minha query é a seguinte:
//explicação das variaveis
$id_hotel //id do hotel
$datainicial_diaria // data inicial da diária cadastrada no sistema
$datafinal_diaria // data final da diária cadastrada no sistema
$datainicial //data inicial buscada
$datafinal //data final buscada
SELECT *
FROM diarias_tb
WHERE id_hotel = ('$id_hotel')
AND ((datainicial_diaria between ('$datainicial') and ('$datafinal'))
OR (datafinal_diaria between ('$datainicial') and ('$datafinal'))
OR (('$datainicial') between datainicial_diaria and datafinal_diaria)
OR (('$datafinal') between datainicial_diaria and datafinal_diaria))
Vou deixar um exemplo prático também:
(considerando que esses datas estão no bd)
Diária de Outubro - 01/10/2013 a 31/10/2013 - R$ 100,00
Diária de Novembro - 01/11/2013 a 31/11/2013 - R$ 200,00
E o cliente realize uma busca entre as datas 10/10/2013 e 10/11/2013