ホームページ >バックエンド開発 >PHPチュートリアル >PHP を使用して、ナレッジ Q&A Web サイトの質問の閲覧履歴と記録機能を開発します。

PHP を使用して、ナレッジ Q&A Web サイトの質問の閲覧履歴と記録機能を開発します。

王林
王林オリジナル
2023-07-02 08:51:091465ブラウズ

PHP を使用して、Q&A Web サイトでの質問の閲覧履歴と記録機能を開発する

はじめに:
Q&A Web サイトは、今日のインターネット上で最も人気のある種類の Web サイトの 1 つです。ユーザーエクスペリエンスを向上させるために、この種の Web サイトに問題のある閲覧履歴や記録機能を追加できます。この記事では、ユーザーが閲覧した質問をより簡単に表示できるように、PHP を使用してこの機能を開発する方法について説明します。

機能要件:

  • ユーザーはログインすると、最近閲覧した質問のリストが表示され、確認して読み続けることが容易になります。
  • 閲覧履歴にはユーザーの最新の質問 10 件が保存され、この数を超えると最も古い質問が削除されます。

実装プロセス:

  1. データベース設計
    まず、閲覧履歴を保存するためのデータ テーブルを作成する必要があります。これは、MySQL データベースを使用して行うことができます。次のフィールドを含む「history」という名前のデータ テーブルを作成します:
  2. id: 自動インクリメント主キーを使用したレコードの一意の識別子。
  3. user_id: レコードがどのユーザーに属しているかを示すユーザー ID。
  4. question_id: 閲覧中の質問を示す質問 ID。
  5. timestamp: レコードのタイムスタンプ。レコードの並べ替えと最大数の制限に使用されます。
CREATE TABLE history (
  id INT AUTO_INCREMENT PRIMARY KEY,
  user_id INT,
  question_id INT,
  timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
  1. PHP コードの実装
    次に、PHP コードを使用して閲覧履歴と記録機能を実装します。
// 设置数据库连接
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";

$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}

// 获取当前登录用户的 ID
$user_id = $_SESSION['user_id'];

// 获取用户最近浏览的问题记录
$query = "SELECT * FROM history WHERE user_id = $user_id ORDER BY timestamp DESC LIMIT 10";
$result = $conn->query($query);

// 显示浏览历史记录
if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        $question_id = $row['question_id'];
        
        // 根据问题 ID 查询问题详情并显示
        $query_question = "SELECT * FROM questions WHERE id = $question_id";
        $result_question = $conn->query($query_question);
        
        if ($result_question->num_rows > 0) {
            while($row_question = $result_question->fetch_assoc()) {
                echo $row_question['title'];
                echo "<br>";
                echo $row_question['content'];
                echo "<br><br>";
            }
        }
    }
} else {
    echo "还没有浏览历史记录";
}

// 关闭数据库连接
$conn->close();

上記のコードは、まずデータベースに接続し、次に現在ログインしているユーザーの ID を取得します。次に、ユーザーの最近の閲覧履歴がデータベースから照会され、問題 ID に基づいて問題の詳細が照会されて表示されます。最後にデータベース接続を閉じます。

概要:
この記事では、PHP コード例を通じて、PHP を使用して知識に関する質問と回答の Web サイトで質問の閲覧履歴と記録機能を開発する方法を紹介します。このような機能により、ユーザー エクスペリエンスが向上し、ユーザーが閲覧した質問を簡単に表示できるようになります。データベースの設計と PHP コードの実装を通じて、この機能を簡単に実装できます。この記事が、同様のニーズを持つ PHP 開発者や Web サイト開発者にとって役立つことを願っています。

以上がPHP を使用して、ナレッジ Q&A Web サイトの質問の閲覧履歴と記録機能を開発します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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