Ir para conteúdo
Fórum Script Brasil
  • 0

Datas no php


saulo69

Pergunta

Bom pessoal, ainda não tenho muita experiencia com php, mas estou desenvolvendo um sistema de pré-reserva de hospedagem. Consegui fazer todo o sistema, porém tem uns bugs na lógica que impedem meu sistema de ir pro ar. Se uma pessoa fizer a reserva para o apto "01" no dia 16/05 até o dia 19/05 e outra pessoa fizer a reserva no mesmo apto do dia 17/05 até 18/05 o sistema aceita... Meu mysql esta para gravar apenas a data inicial e a data final. Amigos, como posso solucionar esse problema? O correto é o sistema bloquear esse periodo (16/05 até o dia 19/05).

Grato!

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

É uma das alternativas... na realidade você nem precisaria salvar, com a data inicial e final e a número do quarto, poderia fazer uma query para verificar se "casa" algum resultado, se casar ai mostraria um aviso para o usuário de que na data especificada já existe reserva...

Link para o comentário
Compartilhar em outros sites

  • 0

Bem segundo o que eu entendi, você pode fazer da seguinte forma.

Antes de inserir os dados você faz um select na base de dados , e traz os valores de volta , depois cria através de um if um critério , que vai verificar se no intervalo dessas datas existe algum item gravado para aquele id , caso exista devolve a informação, dizendo estar ocupado. Ou (else) deixa gravar .

Atenção : (você na base de dados terá de ter data de entrada e de saida)

<?
$sql="SELECT * FROM tabela WHERE id=".$_GET['id'];
$sql = mysql_query($sql)
or die ("Houve erro na gravação dos dados.");
$row=mysql_fetch_array($resultado);
?>


<?
if (isset($_REQUEST['submit'])){ 

$entrada =$row["entrada"];
$saida=$row["saida"];

if( verificar entre datas )
{
mostrar que esta ocupado

} else {

mysql_query("INSERT INTO quartos ... ) or die(mysql_error());
e depois faz uma informação para dizer que foi submetido com sucesso ou que há quarto disponivel...
}

}

Link para o comentário
Compartilhar em outros sites

  • 0

Amigo veja o comando no mysQl que se chama BETWEEN

A sintaxe de uso é assim

mysql_query("SELECT * FROM tabela WHERE data BETWEEN '2011-03-11' AND '2011-03-12' ");

O formato da data no exemplo está YYYY-MM-DD

Espero ter ajudado na lógica ai para a solução do problema

Editado por Jefferson Oliveira
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...