Lado do servidor
Supondo que você precise verificar
$amount_of_tickets
periodicamente e isso pode ser computado em application.php , dentro desse arquivo você terá <?php
// $conn is defined and set somewhere
$amount_of_tickets = is_ticket_able($conn);
echo $amount_of_tickets;
exit(0);
?>
Dessa forma, quando o script é invocado com um simples GET request o valor é retornado na resposta como texto simples.
Lado do cliente
ajax é o caminho a percorrer se você deseja atualizar as informações na página sem recarregá-la.
Abaixo está apenas um exemplo simples (usando jQuery) que pode ser estendido para atender às suas necessidades.
O código abaixo é um trecho de JavaScript. Um global é usado para armazenar o valor (globals devem ser evitados, mas é apenas para fins de exemplo)
Em seguida, uma função é invocada e o valor atualizado é obtido em function.php roteiro.
A função -prior encerramento- agenda a si mesma (com
setTimeout
) a ser invocado novamente após uma determinada quantidade de milissegundos (para repetir o processo de busca de valor). var global_isTicketAble = 0;
checkTicket();
function checkTicket()
{
$.ajax(
{
url: "application.php",
method: 'GET',
dataType: 'text',
async: true,
success: function( text )
{
global_isTicketAble = text;
// eventually do something here
// with the value just fetched
// (ex. update the data displayed)
setTimeout( checkTicket, 5000 ); // check every 5 sec
}
}
}
Observe que
$.ajax()
envia o pedido mas não espera pela resposta (como async
está definido como true
). Quando o pedido é recebido a função especificada como success
É executado. A documentação completa da função jQuery ajax pode ser encontrada aqui
http://api.jquery.com/jquery.ajax/