PHPはナレッジQ&Aサイトにおける質問回答収集・共有機能を実装しています。
PHP は知識 Q&A サイトにおける質問回答の収集と共有機能を実現します
1. 背景
インターネットの急速な発展に伴い、知識 Q&A サイトは徐々に一般的なものになってきました。人々が知識を獲得し、経験を交換するための重要なプラットフォーム。このようなサイトでは、ユーザーが自分の質問を投稿し、他のユーザーがそれらの質問に回答することができます。より良いユーザーエクスペリエンスを提供するために、この記事では、ナレッジQ&A Webサイトに質問回答の収集と共有機能をPHPを使用して実装する方法を紹介します。
2. 質問回答収集機能の実装
ナレッジ質問回答サイトでは、ユーザーが興味のある質問や回答に対する回答を収集し、後で閲覧することができます。以下は、質問回答収集機能を実装するコード例です。
-
まず、ユーザーの収集情報を保存するデータベース テーブルを作成する必要があります。次のフィールドを含む「bookmarks」という名前のテーブルを作成できます。
CREATE TABLE bookmarks ( id INT AUTO_INCREMENT PRIMARY KEY, user_id INT, answer_id INT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
ログイン後にコピー ユーザーがログインした後、PHP セッション メカニズムを通じてユーザーの ID を取得し、そのユーザー ID を結合します。と質問の回答 「ブックマーク」テーブルに ID を挿入します:
// 获取当前用户的 ID $userId = $_SESSION['user_id']; // 获取问题答案的 ID $answerId = $_GET['answer_id']; // 插入数据到数据库表中 $query = "INSERT INTO bookmarks (user_id, answer_id) VALUES ($userId, $answerId)"; $result = mysqli_query($connection, $query);
ログイン後にコピーユーザーがお気に入りの質問の回答を表示する必要がある場合、ユーザーの ID に基づいてデータベース テーブルをクエリできます。 :
// 获取当前用户的 ID $userId = $_SESSION['user_id']; // 查询数据库表,获取用户收藏的问题答案 $query = "SELECT * FROM bookmarks WHERE user_id = $userId"; $result = mysqli_query($connection, $query); // 循环显示问题答案 while ($row = mysqli_fetch_assoc($result)) { $answerId = $row['answer_id']; // 根据答案的 ID 查询相关的问题答案信息,并显示在页面上 $query = "SELECT * FROM answers WHERE id = $answerId"; $answerResult = mysqli_query($connection, $query); // 显示问题答案信息 $answerRow = mysqli_fetch_assoc($answerResult); echo $answerRow['content']; }
ログイン後にコピー
3. 質問回答共有機能の実装
質問の回答を収集するだけでなく、質問に対する回答を共有することもできます。彼らは他のユーザーにとって価値があると考えています。以下は、質問と回答の共有機能を実装するコード例です。
質問と回答のページに、「共有」ボタンを追加し、ボタンがクリックされると、 JavaScript 関数がトリガーされ、AJAX リクエストを通じて渡され、質問の回答の ID がサーバー側に送信されます。
<button onclick="shareAnswer(<?php echo $answerId ?>)">分享</button> <script> function shareAnswer(answerId) { // 发送 AJAX 请求 var xhr = new XMLHttpRequest(); xhr.open('POST', 'share.php'); xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xhr.onload = function() { if (xhr.status === 200) { alert('问题答案分享成功!'); } else { alert('问题答案分享失败!'); } }; xhr.send('answer_id=' + answerId); } </script>
ログイン後にコピーサーバー側では、PHP を通じて質問の回答の ID を取得します。それを「shares」という名前のデータベース テーブルに挿入します。 中:
// 获取问题答案的 ID $answerId = $_POST['answer_id']; // 插入数据到数据库表中 $query = "INSERT INTO shares (answer_id) VALUES ($answerId)"; $result = mysqli_query($connection, $query); if ($result) { echo 'success'; } else { echo 'failure'; }
ログイン後にコピー他のユーザーが質問に対する回答を表示すると、質問に対する回答が表示された回数を表示できます。共有:
// 获取问题答案的 ID $answerId = $_GET['answer_id']; // 查询数据库表,获取问题答案的分享次数 $query = "SELECT COUNT(*) AS shares_count FROM shares WHERE answer_id = $answerId"; $result = mysqli_query($connection, $query); $row = mysqli_fetch_assoc($result); // 显示问题答案的分享次数 echo $row['shares_count'] . "次分享";
ログイン後にコピー
4. まとめ
上記のコード例を通じて、ナレッジ Q&A Web サイトに質問と回答の収集および共有機能を実装できます。コレクション機能により、ユーザーは興味のある質問に対する回答を後で閲覧できるように保存することができ、共有機能により、ユーザーは貴重な質問や回答を他のユーザーに渡すことができます。これらの機能の実装は、知識の質問と回答の Web サイトのユーザー エクスペリエンスを向上させるために非常に重要であり、ユーザー間のコミュニケーションと共有も促進します。この記事が開発者にとって役立つことを願っています。
以上がPHPはナレッジQ&Aサイトにおける質問回答収集・共有機能を実装しています。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
