ホームページ  >  記事  >  データベース  >  ここでは、質問形式に焦点を当て、記事の本質を捉えたタイトルのオプションをいくつか示します。 * **PHP/MySQL でユーザーの可用性を確認する方法:** これは単純明快なタイトルです。

ここでは、質問形式に焦点を当て、記事の本質を捉えたタイトルのオプションをいくつか示します。 * **PHP/MySQL でユーザーの可用性を確認する方法:** これは単純明快なタイトルです。

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-26 03:37:28326ブラウズ

Here are a few title options, focusing on the question format and capturing the essence of the article:

* **How to Determine User Availability in PHP/MySQL:** This is a straightforward and clear title that directly answers the article's main focus.
* **

PHP/MySQL でのユーザーの可用性の確認

ユーザーがログインするときにデータベース フィールドを更新すると、オンライン ステータスを監視する効率的な方法が提供されます。このフィールドを定期的にクエリすることで、ユーザーが現在アクティブかどうかを判断できます。

実装の詳細

これを実現するには:

  1. Users テーブルにフィールドを作成します。 lastActiveTime と呼ばれます。
  2. ユーザーがページにアクセスすると、MySQL の NOW() 関数を使用して、lastActiveTime を現在のサーバー時間で更新します。

オンライン ユーザーの識別

識別するにはオンライン ユーザー:

  1. 過去 5 分以内の lastActiveTime を持つすべてのユーザーに対して COUNT クエリを実行します。
  2. lastActiveTime がこの 5 分間の枠外であるユーザーはオフラインとみなされます。

精度の向上 (オプション)

ユーザー アクティビティのほぼリアルタイムの更新の場合:

  1. 60 秒ごとにサーバーに ping を送信する JavaScript 関数を作成します。
  2. サーバー側スクリプトは lastActiveTime フィールドを更新し、ユーザーの存在を継続的に追跡します。

コード例

2009 年のオリジナル コード:

<code class="javascript">var stillAlive = setInterval(function () {
    /* XHR back to server
       Example uses jQuery */
    $.get("stillAlive.php");
}, 60000);</code>

2022 年更新コード:

<code class="javascript">(async function ping() {
    // Asynchronously call stillAlive.php
    await fetch("stillAlive.php");
    // Issue this call again in 60 seconds
    setTimeout(ping, 60_000);
}());</code>

このアプローチを実装すると、PHP/MySQL でユーザーのオンライン ステータスを確実に判断できます。タイムゾーンの複雑さを回避し、Web サイト上のアクティブ ユーザーを追跡するためのスケーラブルなソリューションを提供します。

以上がここでは、質問形式に焦点を当て、記事の本質を捉えたタイトルのオプションをいくつか示します。 * **PHP/MySQL でユーザーの可用性を確認する方法:** これは単純明快なタイトルです。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。