Maison >développement back-end >tutoriel php >Utilisez PHP pour développer la publication programmée et la fonction principale des questions sur le site Web de questions et réponses sur les connaissances.
Utilisez PHP pour développer la publication programmée des questions et les principales fonctions du site Web de questions-réponses de connaissances
Dans le site Web de questions-réponses de connaissances, la publication et le tri des questions sont des fonctions très importantes. La publication programmée et les principales fonctionnalités peuvent aider les administrateurs à mieux gérer le contenu du site Web et à offrir une meilleure expérience utilisateur. Cet article présentera comment utiliser PHP pour développer les fonctions programmées de publication et d'épinglage de questions dans un site Web de questions et réponses de connaissances, et fournira des exemples de code correspondants.
La fonction de publication programmée permet à l'administrateur de définir l'heure de publication de la question à l'avance et de publier automatiquement la question une fois l'heure spécifiée atteinte. Cela permet aux administrateurs de préparer plus facilement les questions à l'avance et d'organiser raisonnablement l'heure de publication du contenu.
Tout d'abord, créez un champ dans la base de données pour stocker l'heure de publication de la question et ajoutez un index pour améliorer l'efficacité des requêtes. Vous pouvez utiliser le type DATETIME pour stocker des informations de date et d'heure.
ALTER TABLE `questions` ADD `publish_time` DATETIME AFTER `content`; ALTER TABLE `questions` ADD INDEX (`publish_time`);
Ensuite, dans le code de traitement des problèmes, ajoutez la logique pour déterminer l'heure de sortie. Avant la publication, enregistrez le numéro dans la base de données au lieu de le publier immédiatement.
<?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 "问题发布失败!"; } ?>
La fonction Pin peut placer une question spécifique au début de la liste de questions, ce qui permet aux utilisateurs de la trouver plus facilement. En règle générale, les questions épinglées apparaissent avant les autres questions et restent épinglées pendant un certain temps.
Ajoutez un champ is_top
,用来存储问题是否被置顶的状态。将其数据类型设置为布尔类型 BIT
à la table des questions dans la base de données, la valeur par défaut est 0.
Dans le code affiché dans la liste de questions, ajoutez la logique pour déterminer si la question est épinglée en haut. En fonction du statut épinglé, la question épinglée s'affiche en premier, puis les autres questions.
<?php $sql = "SELECT * FROM questions ORDER BY is_top DESC, publish_time DESC"; $result = mysqli_query($conn, $sql); while ($row = mysqli_fetch_assoc($result)) { // 显示问题信息 // ... } ?>
Ajoutez une interface pour définir le statut épinglé des questions. Grâce aux appels d'interface, les administrateurs peuvent facilement épingler les questions en haut ou les désépingler.
<?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 "问题置顶状态更新失败!"; } ?>
Grâce aux étapes ci-dessus, nous pouvons mettre en œuvre la fonction de publication et d'épinglage réguliers de questions sur le site Web de questions et réponses de connaissances. Ces fonctionnalités peuvent améliorer l'efficacité de la gestion du contenu sur le site Web et permettre aux utilisateurs de mieux accéder et participer aux discussions sur les problèmes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!