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 et la fonction principale des questions sur le site Web de questions et réponses sur les connaissances.

PHPz
Libérer: 2023-07-02 14:42:01
original
749 Les gens l'ont consulté

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.

  1. Fonction de publication programmée

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`);
Copier après la connexion

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 "问题发布失败!";
}
?>
Copier après la connexion
  1. Fonction Pin

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)) {
    // 显示问题信息
    // ...
}
?>
Copier après la connexion

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 "问题置顶状态更新失败!";
}
?>
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal