Jump to content
Fórum Script Brasil
  • 0

Contagem De Tempo Total De Um Quarto De Motel Em Php,alguém Pode Me Aj


Guest Denilson Rodrigues
 Share

Question

Guest Denilson Rodrigues

E aí galera alguém pode me ajudar?estou fazendo um sistema para motel e tenho que fazer um algoritmo para contagem do tempo total que o cliente está no quarto,então fiz assim:Quando o quarto é ocupado ele anota a hora e minuto daquele momento no formato("Y/i"),por exemplo,se fosse 13:07,ele gravaria no banco de dados ("13/07") e para contar o tempo total fiz o script abaixo:

$hora= date("H/i",time());    [b]//Pega a hora atual[/b]
  $novoformato=explode("/",$hora);  [b]//Separa em strigs[/b]
  include("../config.php"); [b] //aqui contém a conexão com o banco,oqual tem a hora de ocupação[/b]
  $obterhora=mysql_query("SELECT * FROM contas WHERE id_conta='".$_SESSION["idc"]."'");  [b] //seleciono a hora de ocupação[/b]
  $obterhoradeentrada=mysql_fetch_array($obterhora);  [b]//Boto em um array associativo[/b]
  $novoformat=explode("/",$obterhoradeentrada["tempoinicial"]);[b] //faço strigs com o resultado[/b]
  $t=60 + $novoformato[1] - $novoformat[1];   [b]//Pego 60 somo com a hora atual e subtraio da de ocupação[/b]
  $g=$novoformato[1] - $novoformat[1]; [b]/*g é para quando as horas forem iguais,só vai ser usado lá em baixo,depois daqui é só lógica,o problema é que não tá dando certo,alguém pode me dar alguma idéia de como faer certo,já tentei de muitas formas,mas ainda não encontrei uma forma certa de faer,,valeu galera */[/b]
  if (($novoformato[0] > $novoformat[0]) AND ($t > 60)) {
                                         $t=$t-60;
                                         $h=$novoformato[0] - $novoformat[0] + 1;
                                         mysql_query("UPDATE contas SET tempototal='$h/$t' WHERE id_conta='".$_SESSION["idc"]."'");
                                         }
  if (($novoformato[0] < $novoformat[0]) AND ($t < 60)) {
                                         $h=24 - $novoformat[0] + $novoformato[0];
                                         mysql_query("UPDATE contas SET tempototal='$h/$t' WHERE id_conta='".$_SESSION["idc"]."'");
                                         }
  if (($novoformato[0] > $novoformat[0]) AND ($t < 60)) {
                                         $h=$novoformato[0] - $novoformat[0];
                                         mysql_query("UPDATE contas SET tempototal='$h/$t' WHERE id_conta='".$_SESSION["idc"]."'");
                                         }
  if (($novoformato[0] < $novoformat[0]) AND ($t > 60)) {
                                         $t=$t-60;
                                         $h=24 - $novoformat[0] + $novoformato[0] + 1;
                                         mysql_query("UPDATE contas SET tempototal='$h/$t' WHERE id_conta='".$_SESSION["idc"]."'");
                                         }
  if ($novoformato[0] == $novoformat[0]) {
                                         mysql_query("UPDATE contas SET tempototal='0/$g' WHERE id_conta='".$_SESSION["idc"]."'");
                                         }
  $resultado=mysql_query("SELECT * FROM contas WHERE id_conta='".$_SESSION["idc"]."'");
  $c=mysql_fetch_array($resultado);
  $j=explode("/",$c["tempototal"]);
  echo $j[0] . " horas e " . $j[1] ." minutos.";  [b]//Imprimi na tela o tempo total do cliente. [/b]
  ?>

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Para cálculo de datas sempre use uma referência completa, por exemplo use a função time() para pegar o timestamp de entrada e de saída do quarto, pronto, ai bastar substrair o timestamp de saída pelo de entrada e ai você terá quantos segundos eles ficaram no quarto, para saber horas/minutos basta ir dividindo por 60 igual se aprende no colégio...

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.1k
    • Total Posts
      647k
×
×
  • Create New...