インターネットの開発により、ますます多くのWebサイトがコンテンツ管理システム(CMS)を使用してWebサイトのコンテンツを管理および公開することを選択します。これらのWebサイトでは、コメント関数はユーザーと対話することの重要な部分です。これにより、ユーザーは他の人のコメントに参加して返信することができ、ユーザーエクスペリエンスを改善するための重要な機能の1つです。
この記事では、PHPを使用してCMSシステムにコメント返信機能を実装し、MySQLデータベースを介してコメントデータを保存する方法を紹介します。 PHPコードを介してコメントを追加、表示、返信する方法を詳細に説明します。
まず、コメント情報を保存するデータベースにテーブルを作成する必要があります。これがテーブル構造の例です。
テーブルコメントを作成します(
id int auto_incrementプライマリキー、
parent_id int、
コンテンツテキスト、
created_at dateTimeデフォルトcurrent_timestamp
);
このテーブル構造では、 IDはコメントの一意の識別子です。 Parent_idは、コメントの親コメントを識別するために使用されます(第1レベルのコメントの場合はnull)。コンテンツはコメントコンテンツを保存し、 Created_atはコメント作成の時間を記録するために使用されます。
次に、データベースからコメントデータを取得してページに表示するためにPHPコードを記述する必要があります。コメントデータを取得するためのサンプルコードは次のとおりです。
<?php
$conn = mysqli_connect("localhost", "username", "password", "database");
// 第1レベルのコメントリストを得るします
$query = "SELECT * FROM comments WHERE parent_id IS NULL";
$result = mysqli_query($conn, $query);
// コメントリストを通過します,コメントごとにサブコメントを得るします
while ($row = mysqli_fetch_assoc($result)) {
echo "<div class='comment'> ";
エコー」<p> 「。$ row ['content']。」</p> ";
// subcommentリストを得る$ subquery = "select * from comments where parent_id ="。 $ row ['id'];
$ subsult = mysqli_query($ conn、$ subquery);
//サブコメントリストと急行whileをトラバースします($ subrow = mysqli_fetch_assoc($ subsult)){
エコー」<div class='sub-comment'> ";
エコー」<p> 「。$ subrow ['content']。」</p> ";
エコー」</div> ";
}
//返信フォームエコーを急行 "<form class='reply-form' action='reply.php' method='POST'> ";
エコー」<input type='hidden' name='parent_id' value='" . $row['id'] . "'> ";
エコー」<textarea name='content'></textarea> ";
エコー」<input type='submit' value="返事"> ";
エコー」</form> ";
エコー」</div> ";
}
mysqli_close($ conn);
?>
この例では、データベースに接続し、第1レベルのコメントリストを取得します。次に、これらのコメントを反復し、各コメントのサブコメントを照会します。コメントごとに、コンテンツを提示し、サブコメントを表示し、各コメントの後にユーザーがコメント返信を送信するための返信フォームを提供します。
ユーザーがコメントの返信を送信する場合、返信コンテンツをデータベースに保存する必要があります。これが返信を保存するPHPコードの例です。
<?php
$conn = mysqli_connect("localhost", "username", "password", "database");
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$parent_id = $_POST['parent_id'];
$content = $_POST['content'];
// コメントデータを挿入します
$query = "INSERT INTO comments (parent_id, content) VALUES ('$parent_id', '$content')";
mysqli_query($conn, $query);
}
mysqli_close($conn);
?>
上記のコードでは、最初に要求されたメソッドが投稿されているかどうかを判断します。 POSTリクエストの場合、親のコメントのIDとユーザーが入力したコメントコンテンツを取得し、データベースに挿入します。
この記事では、PHPを使用してCMSシステムにコメント返信機能を実装する方法を紹介します。 MySQLデータベースを使用してコメントデータを保存し、PHPコードを介してコメント表示および返信機能を実装します。この機能は、Webサイトとユーザー間の相互作用を大幅に改善できます。この記事のサンプルコードが、独自のコメントシステムを実装するのに役立つことを願っています。