現在の位置: ホーム> 最新記事一覧> PHPを使用して問題の変更と削除機能を知識の質問と回答Webサイトに実装する方法

PHPを使用して問題の変更と削除機能を知識の質問と回答Webサイトに実装する方法

M66 2025-07-14

導入

インターネットの開発により、知識Q&A Webサイトは、人々が情報を取得して問題を解決するための重要なプラットフォームになりました。これらのプラットフォームでは、ユーザーは質問を送信して他のユーザーから回答を得ることができます。ウェブサイトのユーザーエクスペリエンスを向上させるには、通常、ユーザーに問題の変更と削除機能を提供する必要があります。この記事では、PHPを使用して知識Q&A Webサイトで問題の変更と削除機能を開発する方法を詳細に紹介します。

問題管理ページを作成します

まず、ユーザーが質問管理ページを提供して、質問を変更または削除する必要があります。 PHPでは、getまたはpostメソッドを使用して、ページで送信されたデータを取得できます。 manage.phpというページを作成し、次のコードが問題のIDを取得する方法を示しているとします。

 <span class="fun">$ question_id = $ _get [&#39;id&#39;];</span>

次に、取得したIDに基づいてデータベースの問題の詳細を照会します。質問が質問というテーブルに保存されていると仮定すると、次のコードを使用して、データベースから質問の詳細を取得できます。

 $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);

問題を示し、変更機能を提供します

ページでは、フォームを使用して質問のタイトルとコンテンツを表示して、ユーザーがそれを変更できるようにします。質問を表示し、ユーザー入力を受信するための基本的なフォームの例を示します。

 <form action='update.php' method='POST'>
  <input type='hidden' name='id' value='<?php echo $question['id']; ?>'>
  <label for='title'>タイトル:</label>
  <input type='text' name='title' value='<?php echo $question['title']; ?>'><br>
  <label for='content'>コンテンツ:</label>
  <textarea name='content'><?php echo $question['content']; ?></textarea><br>
  <input type='submit' value='保存'>
</form>

問題の更新を処理します

ユーザーが[保存]ボタンをクリックすると、フォームデータがupdate.phpページに送信されます。このページでは、ユーザーが入力したデータを取得し、データベースの問題レコードを更新します。 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();

問題関数を削除します

問題の削除関数を実現するために、問題管理ページに削除ボタンを追加できます。ユーザーがクリックすると、問題IDが処理のためにdelete.phpページに渡されます。指定された問題を削除するdelete.phpページのコード例を次に示します。

 $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();

要約します

上記のコードの例を使用して、知識の質問と回答のWebサイトに問題の変更と削除機能を正常に実装しました。ユーザーは、管理ページから尋ねる質問を変更でき、質問の内容は保存後にデータベースに更新されます。さらに、ユーザーは質問を削除して、データベースから削除できます。このようにして、ウェブサイトの機能を継続的に改善し、ユーザーエクスペリエンスを改善できます。