Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Maxxred

Consultar alterações e tocar um som

Recommended Posts

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.