Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie man Daten aus der SQL-Server-Datenbank in PHP abruft, ohne die Seite zu aktualisieren

Serverseite

Angenommen, Sie müssen $amount_of_tickets überprüfen regelmäßig und dies kann in application.php berechnet werden , in dieser Datei haben Sie

<?php

    // $conn is defined and set somewhere

    $amount_of_tickets = is_ticket_able($conn);

    echo $amount_of_tickets;
    exit(0);
?>

Auf diese Weise, wenn das Skript mit einem einfachen GET aufgerufen wird Anfrage wird der Wert in der Antwort als einfacher Text zurückgegeben.

Client-Seite

ajax ist der richtige Weg, wenn Sie Informationen auf der Seite aktualisieren möchten, ohne sie neu zu laden.

Unten ist nur ein einfaches Beispiel (unter Verwendung von jQuery), das an Ihre Bedürfnisse angepasst werden kann.

Der folgende Code ist ein JavaScript-Snippet. Ein Global wird verwendet, um den Wert zu speichern (Globals sollten vermieden werden, dienen aber nur dem Zweck des Beispiels)

Dann wird eine Funktion aufgerufen und der aktualisierte Wert aus function.php abgerufen Skript.

Die Funktion -vor Beendigung- plant sich selbst ein (mit setTimeout ), die nach einer bestimmten Anzahl von Millisekunden erneut aufgerufen werden (um den Vorgang zum Abrufen des Werts zu wiederholen).

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

Beachten Sie, dass $.ajax() sendet die Anfrage, wartet aber nicht auf die Antwort (als async auf true gesetzt ist ). Wenn die Anfrage empfangen wird, wird die Funktion als success angegeben wird ausgeführt.

Die vollständige Dokumentation der jQuery-Ajax-Funktion finden Sie hier

http://api.jquery.com/jquery.ajax/