PHP は Q&A Web サイトに質問の閲覧履歴と記録機能を実装します
インターネットの急速な発展に伴い、Q&A Web サイトはますます人気が高まっています。このような Web サイトでは、ユーザーは質問をしたり、他のユーザーから回答を得ることができます。ユーザーエクスペリエンスを向上させるために、ユーザーが以前に閲覧した質問を簡単に閲覧できるように、質問の閲覧履歴や記録機能を実装する必要がある場合があります。
この記事では、PHP を使用してこの機能を実現します。まずユーザーの閲覧履歴を保存するデータベース テーブルを作成し、次にこれらの記録を処理して表示するための対応する PHP コードを作成します。
データベース テーブルの作成
まず、ユーザーの閲覧履歴を保存するために、question_history という名前のデータベース テーブルを作成する必要があります。テーブルには次のフィールドが含まれます:
作成する SQL ステートメントは次のとおりです。 question_history テーブル:
CREATE TABLE `question_history` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_id` int(11) NOT NULL, `question_id` int(11) NOT NULL, `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
PHP コードの実装
次に、ユーザーの閲覧履歴を処理して表示するための PHP コードを記述する必要があります。まず、ユーザーの閲覧履歴をデータベース テーブルに挿入する関数を作成する必要があります。この関数は、ユーザーの一意の識別子と、表示されている質問の一意の識別子の 2 つのパラメーターを受け入れます。
function insertQuestionHistory($user_id, $question_id) { // 创建数据库连接 $conn = new mysqli("localhost", "username", "password", "database"); // 检查连接是否成功 if ($conn->connect_error) { die("连接失败:" . $conn->connect_error); } // 插入记录到 question_history 表 $sql = "INSERT INTO question_history (user_id, question_id) VALUES ('$user_id', '$question_id')"; if ($conn->query($sql) === TRUE) { echo "浏览历史记录插入成功"; } else { echo "插入错误:" . $conn->error; } // 关闭数据库连接 $conn->close(); }
次に、データベースからユーザーの閲覧履歴を取得する関数を作成できます。この関数は、ユーザーの一意の識別子もパラメーターとして受け取り、ユーザーの閲覧履歴を含む配列を返します。
function getQuestionHistory($user_id) { // 创建数据库连接 $conn = new mysqli("localhost", "username", "password", "database"); // 检查连接是否成功 if ($conn->connect_error) { die("连接失败:" . $conn->connect_error); } // 查询 question_history 表中的记录 $sql = "SELECT * FROM question_history WHERE user_id = '$user_id' ORDER BY timestamp DESC"; $result = $conn->query($sql); // 将查询结果转换为数组 $history = array(); if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { $history[] = $row; } } // 关闭数据库连接 $conn->close(); // 返回浏览历史记录数组 return $history; }
最後に、上記の関数を使用してユーザーの閲覧履歴を表示できます。閲覧履歴配列を反復処理して、各レコードを出力できます。
$user_id = 1; // 假设用户的唯一标识符为 1 // 获取用户的浏览历史记录 $history = getQuestionHistory($user_id); // 打印浏览历史记录 foreach ($history as $row) { echo "问题ID:" . $row['question_id'] . ",浏览时间:" . $row['timestamp'] . "<br>"; }
概要
上記の PHP コード例により、ナレッジ Q&A Web サイトに質問の閲覧履歴と記録機能を実装することができました。ユーザーは、データベース テーブルの挿入とクエリによって閲覧履歴を記録および取得し、PHP コードを通じてユーザーに表示できます。このような機能により、ユーザー エクスペリエンスが向上し、ユーザーが以前に閲覧した質問を簡単に表示できるようになります。
以上がPHPは知識問答サイトに質問の閲覧履歴や記録機能を実装しています。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。