Jump to content
Fórum Script Brasil
  • 0

como fazer um loop infinito no servidor


renato BP

Question

gostaria da ajuda de voces com um problema, estou fazendo um sistema em php pra automação residencial e no meu banco de dados existe uma tabela que mostra se um alarme foi ativado ou não e se o script percebe q um determinado campo da tabela mudou de "0" para "1" significa que um sensor foi ativado então ele envia um email e uma mensagem de sms para o celular do dono da casa, eu poderia simplesmente ficar fazendo um refresh da pagina que resolveria o problema mas acontece que não quero enviar uma mensagem e um sms a cada refresh da pagina senao iria inundar a caixa postal de mensagens, então fiz um contador de tempo para só enviar a cada tempo estipulado, só que dando refresh ele zera o contador dai não tem como eu contar o tempo pra disparar uma nova mensagem caso o sensor ainda esteja ativo, então preciso de um loop infinito na pagina pra isso.

do jeito que ta o codigo abaixo, funciona direitinho mas só por 30 segundos dai da "Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp-portable\htdocs\automacao\conecta.php on line 5", da pra anular o limite de tempo de execução? pode travar?... aguem me ajuda numa solução?

<?php

$inicio = microtime(true);

$fim = 0;

while(TRUE){

require 'conecta.php';

// $resultado = "select sum(estado) from sensores";

$result = mysql_query("SELECT SUM( estado ) AS soma, idestado FROM sensores, reles, equipamentos WHERE reles.ideq = equipamentos.ideq

AND nomeEq = 'Alarme'")or die(mysql_error());

$cont = mysql_fetch_array($result);

$total = $cont["soma"];

$alarme = $cont['idestado'];

if ($total >0 and $alarme == 1 and $tempo>30) {

$inicio = microtime(true);

echo "<script> window.open('envia_alerta.php'); </script>";

}

$fim = microtime(true);

$tempo = $fim - $inicio;

}

?>

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

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.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...