Heim > Artikel > Backend-Entwicklung > Verwenden Sie PHP, um die zeitgesteuerte Veröffentlichung und Top-Funktion von Fragen auf der Wissens-Q&A-Website zu entwickeln.
Verwenden Sie PHP, um die geplante Veröffentlichung von Fragen und Top-Funktionen auf der Wissens-Q&A-Website zu entwickeln.
Auf der Wissens-Q&A-Website sind das Veröffentlichen und Sortieren von Fragen sehr wichtige Funktionen. Geplante Veröffentlichungen und Top-Funktionen können Administratoren dabei helfen, Website-Inhalte besser zu verwalten und ein besseres Benutzererlebnis zu bieten. In diesem Artikel wird erläutert, wie Sie mit PHP die geplanten Funktionen zum Posten und Anheften von Fragen auf einer Wissens-Q&A-Website entwickeln und entsprechende Codebeispiele bereitstellen.
Mit der Funktion zur geplanten Veröffentlichung kann der Administrator den Veröffentlichungszeitpunkt der Frage im Voraus festlegen und die Frage automatisch veröffentlichen, nachdem der angegebene Zeitpunkt erreicht ist. Dies macht es für Administratoren einfacher, Fragen im Voraus vorzubereiten und die Zeit für die Veröffentlichung von Inhalten angemessen zu vereinbaren.
Erstellen Sie zunächst ein Feld in der Datenbank, um die Veröffentlichungszeit der Frage zu speichern, und fügen Sie einen Index hinzu, um die Abfrageeffizienz zu verbessern. Sie können den Typ DATETIME verwenden, um Datums- und Uhrzeitinformationen zu speichern.
ALTER TABLE `questions` ADD `publish_time` DATETIME AFTER `content`; ALTER TABLE `questions` ADD INDEX (`publish_time`);
Dann fügen Sie im Issue-Verarbeitungscode die Logik hinzu, um den Veröffentlichungszeitpunkt zu bestimmen. Wenn es vor der Veröffentlichungszeit ist, speichern Sie das Problem in der Datenbank, anstatt es sofort zu veröffentlichen.
<?php $publish_time = $_POST['publish_time']; $current_time = date("Y-m-d H:i:s"); if ($publish_time > $current_time) { // 保存问题到数据库,而不发布 $sql = "INSERT INTO questions (title, content, publish_time) VALUES ('$title', '$content', '$publish_time')"; } else { // 直接发布问题 $sql = "INSERT INTO questions (title, content) VALUES ('$title', '$content')"; } // 执行 SQL 语句 $result = mysqli_query($conn, $sql); if ($result) { echo "问题发布成功!"; } else { echo "问题发布失败!"; } ?>
Die Pin-Funktion kann eine bestimmte Frage an den Anfang der Fragenliste setzen, sodass Benutzer sie leichter finden können. In der Regel werden angeheftete Fragen vor anderen Fragen angezeigt und bleiben für einen bestimmten Zeitraum angeheftet.
Fügen Sie ein Feld is_top
,用来存储问题是否被置顶的状态。将其数据类型设置为布尔类型 BIT
zur Fragentabelle in der Datenbank hinzu, der Standardwert ist 0.
Fügen Sie im in der Fragenliste angezeigten Code die Logik hinzu, um zu bestimmen, ob die Frage oben angeheftet ist. Abhängig vom angehefteten Status wird zuerst die angeheftete Frage und dann andere Fragen angezeigt.
<?php $sql = "SELECT * FROM questions ORDER BY is_top DESC, publish_time DESC"; $result = mysqli_query($conn, $sql); while ($row = mysqli_fetch_assoc($result)) { // 显示问题信息 // ... } ?>
Fügen Sie eine Schnittstelle hinzu, um den angehefteten Status von Fragen festzulegen. Über Schnittstellenaufrufe können Administratoren Fragen ganz einfach oben anheften oder die Anheftung aufheben.
<?php $question_id = $_POST['question_id']; $is_top = $_POST['is_top']; $sql = "UPDATE questions SET is_top = $is_top WHERE id = $question_id"; $result = mysqli_query($conn, $sql); if ($result) { echo "问题置顶状态更新成功!"; } else { echo "问题置顶状态更新失败!"; } ?>
Durch die oben genannten Schritte können wir die Funktion zum regelmäßigen Veröffentlichen und Anheften von Fragen auf der Website für Wissensfragen und -antworten implementieren. Diese Funktionen können die Effizienz der Inhaltsverwaltung auf der Website verbessern und Benutzern einen besseren Zugriff und eine bessere Teilnahme an der Diskussion von Problemen ermöglichen.
Das obige ist der detaillierte Inhalt vonVerwenden Sie PHP, um die zeitgesteuerte Veröffentlichung und Top-Funktion von Fragen auf der Wissens-Q&A-Website zu entwickeln.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!