Avec le développement d'Internet, les sites Web de questions-réponses de la connaissance sont devenus une plate-forme importante pour les gens pour obtenir des informations et résoudre des problèmes. Dans ces plateformes, les utilisateurs peuvent soumettre des questions et obtenir des réponses des autres utilisateurs. Afin d'améliorer l'expérience utilisateur du site Web, nous devons généralement fournir aux utilisateurs des fonctions de modification et de suppression pour les problèmes. Cet article introduira en détail comment utiliser PHP pour développer des fonctions de modification des problèmes et de suppression dans le site Web de questions de questions-réponses.
Tout d'abord, nous devons fournir aux utilisateurs une page de gestion de questions pour qu'ils modifient ou suppriment les questions qu'ils posent. Dans PHP, vous pouvez utiliser la méthode GET ou POST pour faire soumettre les données par la page. Supposons que nous créons une page appelée manage.php, et le code suivant montre comment obtenir l'ID du problème:
<span class="fun">$ question_id = $ _get ['id'];</span>
Ensuite, nous interrogeons les détails du problème dans la base de données en fonction de l'ID obtenu. En supposant que notre question est stockée dans un tableau des questions nommées, le code suivant peut être utilisé pour obtenir les détails de la question de la base de données:
$pdo = new PDO('mysql:host=localhost;dbname=test', 'username', 'password');
$statement = $pdo->prepare('SELECT * FROM questions WHERE id = :id');
$statement->bindParam(':id', $question_id);
$statement->execute();
$question = $statement->fetch(PDO::FETCH_ASSOC);
Dans la page, nous pouvons utiliser le formulaire pour afficher le titre et le contenu de la question, permettant aux utilisateurs de le modifier. Voici un exemple de formulaire de base pour montrer une question et recevoir une entrée utilisateur:
<form action='update.php' method='POST'>
<input type='hidden' name='id' value='<?php echo $question['id']; ?>'>
<label for='title'>titre:</label>
<input type='text' name='title' value='<?php echo $question['title']; ?>'><br>
<label for='content'>contenu:</label>
<textarea name='content'><?php echo $question['content']; ?></textarea><br>
<input type='submit' value='garder'>
</form>
Une fois que l'utilisateur a cliqué sur le bouton Enregistrer, les données du formulaire seront soumises à la page Update.php. Sur cette page, nous obtenons les données entrées par l'utilisateur et mettons à jour les enregistrements du problème dans la base de données. Voici un exemple de code de la page update.php:
$question_id = $_POST['id'];
$title = $_POST['title'];
$content = $_POST['content'];
$pdo = new PDO('mysql:host=localhost;dbname=test', 'username', 'password');
$statement = $pdo->prepare('UPDATE questions SET title = :title, content = :content WHERE id = :id');
$statement->bindParam(':id', $question_id);
$statement->bindParam(':title', $title);
$statement->bindParam(':content', $content);
$statement->execute();
Afin de réaliser la fonction de suppression du problème, nous pouvons ajouter un bouton de suppression à la page de gestion des problèmes. Une fois que l'utilisateur le clique sur, l'ID de problème sera transmis à la page Delete.php pour le traitement. Voici un exemple de code pour la page delete.php pour supprimer le problème spécifié:
$question_id = $_GET['id'];
$pdo = new PDO('mysql:host=localhost;dbname=test', 'username', 'password');
$statement = $pdo->prepare('DELETE FROM questions WHERE id = :id');
$statement->bindParam(':id', $question_id);
$statement->execute();
Grâce aux exemples de code ci-dessus, nous avons mis en œuvre avec succès la fonction de modification et de suppression des problèmes dans le site Web de questions et réponses de connaissances. Les utilisateurs peuvent modifier les questions qu'ils posent via la page de gestion, et le contenu de la question sera mis à jour dans la base de données après l'enregistrement. De plus, les utilisateurs peuvent supprimer les questions qu'ils posent et les supprimer de la base de données. De cette façon, nous pouvons continuellement améliorer les fonctions du site Web et améliorer l'expérience utilisateur.