sql >> データベース >  >> RDS >> Sqlserver

ページを更新せずにPHPでSQLサーバーデータベースからデータを取得する方法

    サーバー側

    $amount_of_tickets を確認する必要があると仮定します これは定期的に application.php に計算できます 、そのファイル内に

    <?php
    
        // $conn is defined and set somewhere
    
        $amount_of_tickets = is_ticket_able($conn);
    
        echo $amount_of_tickets;
        exit(0);
    ?>
    

    このように、単純な GET でスクリプトが呼び出された場合 値は単純なテキストとして応答で返されます。

    クライアント側

    アヤックス ページをリロードせずにページの情報を更新したい場合は、この方法をお勧めします。

    以下は、必要に応じて拡張できる (jQuery を使用した) 簡単な例です。

    以下のコードは JavaScript スニペットです。値を格納するためにグローバルが使用されます (グローバルは避けるべきですが、これは例の目的のためだけです)

    次に関数が呼び出され、更新された値が function.php から取得されます

    終了前の関数は、それ自体をスケジュールします (setTimeout を使用) ) 一定のミリ秒後に再度呼び出されます (フェッチ値プロセスを繰り返すため)。

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

    $.ajax() に注意してください リクエストを送信しますが、レスポンスを待ちません (async として) true に設定されています )。 success として指定された関数をリクエストが受信された場合 実行されます。

    完全な jQuery ajax 関数のドキュメントはここにあります

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



    1. MySQLでLimit句を改善する方法

    2. ResultSet-> getString()は、値が16以上の場合にクラッシュします

    3. 1時間に数十万回実行する必要がある遅いmysqlクエリ

    4. jsonでエンコードされたデータをmysqlに挿入する