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

como fazer um loop infinito no servidor


renato BP

Pergunta

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 para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

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...