Maxxred 0 Denunciar post Postado Maio 20, 2014 Bom dia, Tenho um código simples de uma consulta em PHP com Mysql, essa consulta é atualizada a cada 10 segundos (tenho uma extensão no navegador que faz esse serviço), mais eu preciso alterar um pouco esse código, teria que "tocar um som" a cada vês que algum dado fosse alterado ou inserido no BD e caso não haja nenhuma alteração, ele somente atualizaria sem tocar som. Alguém tem alguma dica para este problema? Segue abaixo o script de busca: <? include './files/config.php'; //Arquivo de conexao com o BD $data_atual = date('Y-m-d'); $sql_nao_atendidos = "SELECT * FROM cad_navios WHERE data >= '$data_atual' AND atendido LIKE 'Nao' AND NOT previsao = 'S/P' ORDER BY data ASC limit 10"; $query_nao_atendidos = mysql_query($sql_nao_atendidos) or print(mysql_error()); ?> <?php // Formato 24 horas (de 1 a 24) $hora = date('G'); if (($hora >= 0) AND ($hora < 6)) { $horario = "Boa madrugada"; } else if (($hora >= 6) AND ($hora < 12)) { $horario = "Bom dia"; } else if (($hora >= 12) AND ($hora < 18)) { $horario = "Boa tarde"; } else { $horario = "Boa noite"; } ?> <head> <title> Fornecimentos - Matriz </title> </head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="content-Type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet" href="./css/style.css" type="text/css"> <body id="body_padrao"> <div align='center' class='btexto'>Bem-Vindo(a) <?php echo $_SESSION['nome']; ?>, <?php echo $horario; ?></div> <div align='center' class='btexto'>Filial selecionada: <?php if (!isset($_SESSION['nome_filial'])){ echo "Nenhuma filial selecionada"; }else{ echo $_SESSION['nome_filial']; }?> </div> <fieldset class="texto" style="background-color: #F5F5F5;"> <legend><b>Fornecimentos - Matriz </b></legend> <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><b>Embarcações a serem atendidos:</b> </font></p> <table BORDER=1 BGCOLOR=#FFFFFF CELLSPACING=0 CELLPADDING=3 BORDERCOLOR=#FFFFFF> <tr bgcolor=#999999> <td width="20%"><font style="font-family: Verdana, Arial, Helvetica; font-size: 10px" color=#FFFFFF><b>Navio </b></font></td> <td width="20%"><font style="font-family: Verdana, Arial, Helvetica; font-size: 10px" color=#FFFFFF><b>Porto </b></font></td> <td width="20%"><font style="font-family: Verdana, Arial, Helvetica; font-size: 10px" color=#FFFFFF><b>Data Atendimento</b></font></td> <td width="20%"><font style="font-family: Verdana, Arial, Helvetica; font-size: 10px" color=#FFFFFF><b>Agência </b></font></td> </tr> <? while($dados = mysql_fetch_array($query_nao_atendidos)) { ?> <tr bgcolor="#F5FC81"> <td><font style="font-family: Arial, Helvetica; font-size: 10px"><? echo "$dados[navio]" ?> </font></td> <td><font style="font-family: Arial, Helvetica; font-size: 10px"><? echo "$dados[porto]" ?> </font></td> <td><font style="font-family: Arial, Helvetica; font-size: 10px"><? echo implode('/',array_reverse(explode('-',"$dados[data]"))); ?> </font></td> <td><font style="font-family: Arial, Helvetica; font-size: 10px"><? echo "$dados[agencia]" ?> </font></td> </tr> <? } ?> </table> <? mysql_close(); ?> Att, Compartilhar este post Link para o post Compartilhar em outros sites
jgustavo99 85 Denunciar post Postado Maio 20, 2014 Use as tags do HTML5 <audio>, para o som tocar. Abaixo um Link que pode lhe ajudar: http://www.linhadecodigo.com.br/artigo/3621/html5-entendendo-a-tag-audio.aspx Espero ter Ajudado! Compartilhar este post Link para o post Compartilhar em outros sites
Maxxred 0 Denunciar post Postado Maio 21, 2014 Opa, obrigado pela resposta jgustavo99, mais o que eu estava precisando é de uma forma que toda vês que eu inserisse algo no BD ou alterasse, ele atualizasse a tela e tocasse um som, procurando na net vi alguns exemplos de ajax reverso, mais não achei ainda um conteúdo bom de como aplicar. Caso alguém tem alguma ideia, ficarei grato =) Compartilhar este post Link para o post Compartilhar em outros sites
Maxxred 0 Denunciar post Postado Maio 22, 2014 Consegui resolver, armazenei a página em um arquivo txt, e a toda ves que o site atualiza, ele compara com o arquivo, e si estiver diferente ele toca o som, segue abaixo o código. Inserir esse código no inicio da página <?php // Limpa o buffer $buffer_limpo = ob_clean(); // Inicia o buffer $inicia_buffer = ob_start(); ?> Inserir esse código no final da página <?php //Atribui o buffer a uma string $buffer_salvo = ob_get_flush(); //Abre o arquivo para ser feita a comparação com o buffer $conteudo = file_get_contents('./txt/previsao.txt'); //Condicao que compara o buffer com o arquivo txt salvo if ($buffer_salvo !== $conteudo) { file_put_contents('./txt/previsao.txt', $buffer_salvo); echo "Arquivo diferente, mais ele foi salvo"; echo "<audio autoplay='autoplay'> <source src='./som/alerta.mp3' type='audio/mp3'> </audio>"; }else{ file_put_contents('./txt/previsao.txt', $buffer_salvo); echo "Arquivo igual, ele foi salvo"; } ?> Obrigado a todos ;) Compartilhar este post Link para o post Compartilhar em outros sites