Entwickelte Funktionen zur Bewertung und Sortierung von Fragen in einer Trivia-Website mit PHP.

PHPz
Freigeben: 2023-07-01 22:56:02
Original
1413 Leute haben es durchsucht

Verwenden Sie PHP, um die Fragenbewertungs- und Sortierfunktionen auf der Wissens-Q&A-Website zu entwickeln.

Mit der Entwicklung des Internets ist die Wissens-Q&A-Website mittlerweile zu einem der wichtigsten Kanäle für Menschen geworden, um Wissen zu erlangen und Probleme zu lösen. Diese Websites geben den Benutzern die Freiheit, Fragen zu stellen, zu antworten und Kommentare abzugeben, aber die Frage, wie man Fragen bewertet und einordnet, wird zu einem zentralen Thema. In diesem Artikel wird erläutert, wie Sie mit PHP Funktionen zur Bewertung und Sortierung von Fragen auf einer Wissens-Frage-und-Antwort-Website entwickeln.

  1. Datenbankdesign

Zuerst müssen wir relevante Tabellen in der Datenbank erstellen, um Fragen und Bewertungsdaten zu speichern. Angenommen, wir haben zwei Tabellen, eine ist die Fragentabelle, die Felder wie Fragen-ID, Titel und Inhalt enthält, und die andere ist die Bewertungstabelle, die Felder wie Bewertungs-ID, Fragen-ID, Benutzer-ID und Bewertungswert enthält .

CREATE TABLE questions (
  id INT AUTO_INCREMENT PRIMARY KEY,
  title VARCHAR(255),
  content TEXT
);

CREATE TABLE ratings (
  id INT AUTO_INCREMENT PRIMARY KEY,
  question_id INT,
  user_id INT,
  rating INT
);
Nach dem Login kopieren
  1. Fragenbewertungsfunktion

Auf der Wissens-Frage- und Antwort-Website können Benutzer Fragen bewerten, um ihre Zufriedenheit mit den Fragen auszudrücken. Wir können unten auf der Seite mit den Fragendetails eine Bewertungskomponente hinzufügen, und Benutzer können die Frage bewerten, indem sie auf eine Schaltfläche klicken.

<?php
// 获取当前问题的ID
$questionId = $_GET['id'];

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
  // 获取用户ID和评分值
  $userId = $_SESSION['user_id'];
  $rating = $_POST['rating'];

  // 将评分插入到数据库中
  $query = "INSERT INTO ratings (question_id, user_id, rating) VALUES ('$questionId', '$userId', '$rating')";
  // 执行插入操作

  if ($result) {
    // 评分成功,刷新页面或跳转回问题详情页
  } else {
    // 评分失败,显示错误信息
  }
}
?>

<!-- 评分组件 -->
<form action="" method="POST">
  <input type="hidden" name="rating" value="1">
  <button type="submit">赞同</button>
</form>

<form action="" method="POST">
  <input type="hidden" name="rating" value="-1">
  <button type="submit">反对</button>
</form>
Nach dem Login kopieren
  1. Fragensortierfunktion

Damit Benutzer Fragen besser durchsuchen und suchen können, müssen wir Fragen nach bestimmten Regeln sortieren. Zu den gängigen Sortierregeln gehören die Sortierung nach Zeit, Beliebtheit, Bewertungswert usw. Hier verwenden wir den Bewertungswert als Sortierregel.

<?php
// 查询问题和评分表格,并按评分值降序排列
$query = "SELECT q.id, q.title, q.content, AVG(r.rating) AS average_rating
          FROM questions q
          LEFT JOIN ratings r ON q.id = r.question_id
          GROUP BY q.id
          ORDER BY average_rating DESC";
// 执行查询操作

while ($row = mysqli_fetch_assoc($result)) {
  // 显示问题列表
  echo '<h3>' . $row['title'] . '</h3>';
  echo '<p>' . $row['content'] . '</p>';
  echo '<p>评分:' . $row['average_rating'] . '</p>';
}
?>
Nach dem Login kopieren

Mit dem obigen Codebeispiel zeigen wir, wie man PHP verwendet, um Funktionen zur Bewertung und Sortierung von Fragen auf einer Wissens-Frage- und Antwort-Website zu entwickeln. Über die Bewertungsfunktion können Nutzer Fragen bewerten und Referenzen für andere Nutzer bereitstellen. Mithilfe der Sortierfunktion können Benutzer Fragen anhand ihrer Bewertung durchsuchen und durchsuchen und schnell qualitativ hochwertige Antworten finden. Natürlich müssen auch Aspekte wie Sicherheit und Leistungsoptimierung bei der tatsächlichen Entwicklung berücksichtigt werden. Ich hoffe, dass dieser Artikel PHP-Entwicklern bei der Entwicklung von Fragenbewertungs- und Sortierfunktionen auf Wissens-Q&A-Websites hilfreich sein kann.

Das obige ist der detaillierte Inhalt vonEntwickelte Funktionen zur Bewertung und Sortierung von Fragen in einer Trivia-Website mit PHP.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage