PHP implementiert den Browserverlauf und die Aufzeichnungsfunktionen für Fragen auf der Q&A-Website.
Mit der rasanten Entwicklung des Internets erfreut sich die Q&A-Website immer größerer Beliebtheit. Auf einer solchen Website können Benutzer Fragen stellen und Antworten von anderen Benutzern erhalten. Um das Benutzererlebnis zu verbessern, müssen wir manchmal den Browserverlauf und die Aufzeichnungsfunktionen für Fragen implementieren, damit Benutzer zuvor durchsuchte Fragen problemlos anzeigen können.
In diesem Artikel werden wir PHP verwenden, um diese Funktionalität zu implementieren. Wir erstellen zunächst eine Datenbanktabelle zum Speichern des Browserverlaufs des Benutzers und schreiben dann den entsprechenden PHP-Code, um diese Datensätze zu verarbeiten und anzuzeigen.
Datenbanktabelle erstellen
Zuerst müssen wir eine Datenbanktabelle mit dem Namen „question_history“ erstellen, um den Browserverlauf des Benutzers zu speichern. Die Tabelle enthält die folgenden Felder:
Das Folgende ist die SQL-Anweisung zum Erstellen der Tabelle „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-Code-Implementierung
Als nächstes müssen wir etwas PHP-Code schreiben, um das Surfen des Benutzers zu verarbeiten und anzuzeigen Geschichtsaufzeichnung. Zuerst müssen wir eine Funktion schreiben, um den Browserverlauf des Benutzers in eine Datenbanktabelle einzufügen. Diese Funktion akzeptiert zwei Parameter: die eindeutige Kennung des Benutzers und die eindeutige Kennung der angezeigten Frage.
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(); }
Dann können wir eine Funktion schreiben, um den Browserverlauf des Benutzers aus der Datenbank abzurufen. Diese Funktion empfängt außerdem die eindeutige Kennung des Benutzers als Parameter und gibt ein Array zurück, das den Browserverlauf des Benutzers enthält.
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; }
Schließlich können wir die obige Funktion verwenden, um den Browserverlauf des Benutzers anzuzeigen. Wir können das Browserverlauf-Array durchlaufen und jeden Datensatz ausdrucken.
$user_id = 1; // 假设用户的唯一标识符为 1 // 获取用户的浏览历史记录 $history = getQuestionHistory($user_id); // 打印浏览历史记录 foreach ($history as $row) { echo "问题ID:" . $row['question_id'] . ",浏览时间:" . $row['timestamp'] . "<br>"; }
Zusammenfassung
Durch das obige PHP-Codebeispiel haben wir den Browserverlauf und die Aufzeichnungsfunktionen für Fragen erfolgreich in der Wissens-Q&A-Website implementiert. Benutzer können ihren Browserverlauf aufzeichnen und abrufen, indem sie Datenbanktabellen einfügen und abfragen, und ihn dem Benutzer über PHP-Code anzeigen. Eine solche Funktion kann das Benutzererlebnis verbessern und es Benutzern erleichtern, zuvor durchsuchte Fragen anzuzeigen.
Das obige ist der detaillierte Inhalt vonPHP implementiert den Browserverlauf und die Aufzeichnungsfunktionen für Fragen in der Wissens-Frage- und Antwort-Website.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!