Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá,
Apesar de pesquisar e tentar de diversas formas, não estou conseguindo. A situação é a seguinte:
O hotel tem uma tabela com valores variáveis para as acomodações dependendo dos dias.
TABELA VALORES
preço data_inicio data_fim
150.00 2018-04-20 2018-04-23
250.00 2018-04-24 2018-04-27
Quando o usuário escolhe check-in e check-out dentro dos valores de uma linha, consigo retornar com o BETWEEN. Porém, se o usuário escolher data de entrada (23) e data de saída (24), preciso retornar apenas o valor de 150,00 que foi o dia do check-in. Mas não estou conseguindo pois a consulta retorna o valor com base do dia do check-out (250,00).
Penso que a solução deste problema irá me ajudar a solucionar outro: quando o cliente escolhe alguns dias que se encaixam dentro de uma tarifa e outros dias em que a tarifa é diferente...
Desde já, obrigado.
mysql_query("SELECT * FROM valores_acomodacoes WHERE '$entrada' BETWEEN data_inicio AND data_fim AND '$saida' BETWEEN data_inicio AND data_fim AND acomodacao = '$id' ")
O SQL acima retorna quando dias escolhidos dentro de uma mesma linha da tabela. Já abaixo, a questão posta na pergunta:
mysql_query("SELECT * FROM valores_acomodacoes WHERE '$entrada' >= data_inicio AND '$entrada' <= data_fim AND acomodacao = '$id' ") or die(mysql_error());Se o valor é baseado no check-in pesquise apenas por ele.
Publica também o SQL.