Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

como buscar dados do banco de dados do sql server em php sem atualizar a página


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/