ホームページ  >  記事  >  データベース  >  phpを使用してmysqlを操作し、クエリ結果を更新する方法

phpを使用してmysqlを操作し、クエリ結果を更新する方法

WBOY
WBOY転載
2023-05-27 15:36:171493ブラウズ

1. AJAX の使用

現代のフロントエンド開発では、AJAX テクノロジの普及により、JavaScript とバックエンドの通信がより便利になっています。 AJAX を通じて、PHP ページによって生成されたデータを簡単に取得し、Web サイトを動的に更新するために使用できます。

AJAX は、PHP (通常は JSON) からデータを取得し、DOM 操作を使用して HTML 要素を更新してデータを更新します。これにより、Web ページ全体を更新しなくても、データをリアルタイムで更新できます。

以下は簡単な例です:

$.ajax({
    url: 'update.php',
    method: 'post',
    data: {
        // 发送到update.php的数据
    },
    success: function(data) {
        // 成功获取返回的数据
        // 使用DOM操作更新HTML元素
    }
});

この例では、更新するデータを PHP ページ「update.php」に送信します。次に、PHP ページはデータを処理し、データベースを更新し、結果を JSON 形式で返します。最後に、成功コールバック関数を通じて、データのリアルタイム更新を実現します。

2. WebSocket の使用

WebSocket は、クライアント JavaScript とバックエンド PHP の間で永続的な接続を確立できるようにする双方向通信プロトコルです。このようにして、AJAX のようにリアルタイムでデータを取得できます。

WebSocket を使用すると、サーバーまたはクライアントのどちらでも、遅延なくリアルタイムでデータを更新できます。 WebSocket は更新効率が高いため、ゲーム、グループ チャット、その他のリアルタイム アプリケーションで広く使用されています。

以下は簡単な例です:

var conn = new WebSocket('ws://localhost:8080');
conn.onmessage = function(event) {
    // 实时更新数据
};

この例では、WebSocket を通じて「ws://localhost:8080」という名前のサーバーに接続します。データが更新されると、すぐにイベント コールバックを受け取り、データを更新します。

3. ロング ポーリングの使用

ロング ポーリングは、クライアントが HTTP 接続を一定期間開いたままにしておくことができる Web 開発テクノロジです。サーバーは、更新するデータがある場合は応答を送信しますが、それ以外の場合は接続を開いたままにします。

ロング ポーリング テクノロジを使用すると、AJAX や WebSocket の効果と同様に、PHP および MySQL クエリの結果をリアルタイムで更新できます。 WebSocket と比較すると、ロングポーリングにより、WebSocket でサポートされているブラウザだけでなく、すべてのブラウザでリアルタイムのデータ更新を実現できます。

以下は簡単な例です:

$.ajax({
    url: 'update.php',
    method: 'post',
    data: {
        // 发送到update.php的数据
    },
    success: function(data) {
        // 成功获取返回的数据
        // 使用DOM操作更新HTML元素
        setTimeout(longPoll, 0); // 函数递归
    },
    error: function() {
        setTimeout(longPoll, 0); // 函数递归
    }
});

function longPoll() {
    $.ajax({
        url: 'long-poll.php',
        method: 'post',
        data: {
            // 发送到long-poll.php的数据
        },
        success: function(data) {
            // 成功获取返回的数据
            // 更新HTML元素
            setTimeout(longPoll, 0); // 函数递归
        },
        error: function() {
            setTimeout(longPoll, 0); // 函数递归
        }
    });
}

2 つの PHP スクリプトを使用しました。1 つは update.php で、もう 1 つは long-poll.php です。最初のリクエストで、update.php はデータを返し、PHP がバックグラウンド イベントを待機するタイムアウトを設定します。データの更新があった場合は、クライアントにデータを返します。

データ更新がない場合、ロングポーリングは空の応答を返しますが、HTTP 接続は閉じません。このようにして、クライアントは接続を開いたままにしつつ、応答の現在の状態を維持できます。 Long-poll.php はデータ更新に関する応答をクライアントに送信し、クライアントが更新されたデータを取得できるようにします。

以上がphpを使用してmysqlを操作し、クエリ結果を更新する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。