PHP는 지식 질의응답 웹사이트에서 태그 관리 및 추천 기능을 구현합니다
지식 질의응답 웹사이트에서 태그 관리는 사용자가 질문을 더 잘 분류하고 검색하는 데 도움이 되는 매우 중요한 기능입니다. 동시에 추천 기능은 사용자의 관심 사항과 과거 행동을 기반으로 관련 질문을 추천하여 사용자 경험을 향상시킬 수 있습니다. 이 기사에서는 PHP를 사용하여 이 두 가지 기능을 구현하는 방법을 소개합니다.
태그 관리 기능 구현:
먼저 태그 및 질문 정보를 저장할 태그 테이블(태그)과 질문 테이블(질문)을 생성해야 합니다. 태그 테이블에는 id, name이라는 두 개 이상의 필드가 포함되고, 질문 테이블에는 id, title, content라는 세 개 이상의 필드가 포함됩니다.
CREATE TABLE `tag` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL, PRIMARY KEY (`id`) ); CREATE TABLE `question` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(100) NOT NULL, `content` text NOT NULL, PRIMARY KEY (`id`) );
사용자가 질문할 때 해당 태그를 선택할 수 있습니다. 사용자가 제출 버튼을 클릭하면 태그 테이블과 질문 테이블에 태그와 질문 정보를 삽입해야 합니다.
// 获取用户输入的标签和问题信息 $tags = $_POST['tags']; $title = $_POST['title']; $content = $_POST['content']; // 插入问题信息 $query = "INSERT INTO question (title, content) VALUES ('$title', '$content')"; mysql_query($query); // 插入标签信息 $questionId = mysql_insert_id(); foreach ($tags as $tag) { $query = "INSERT INTO tag (name, question_id) VALUES ('$tag', '$questionId')"; mysql_query($query); }
사용자는 태그를 기반으로 관련 질문을 검색할 수 있습니다. SQL JOIN 작업을 사용하여 레이블 테이블과 질문 테이블을 연결한 다음 레이블 이름을 기준으로 필터링할 수 있습니다.
$tag = $_GET['tag']; $query = "SELECT q.* FROM question q INNER JOIN tag t ON q.id = t.question_id WHERE t.name = '$tag'"; $result = mysql_query($query); while ($row = mysql_fetch_assoc($result)) { echo $row['title'], "<br/>"; }
추천 기능 구현:
추천 기능은 사용자의 과거 행동을 기반으로 태그를 획득하고 사용자가 자주 사용하는 태그를 분석하여 추천해야 합니다. 사용자가 묻는 질문을 쿼리하여 태그를 얻을 수 있습니다.
$userId = $_SESSION['user_id']; $query = "SELECT t.name FROM tag t INNER JOIN question q ON t.question_id = q.id WHERE q.user_id = '$userId'"; $result = mysql_query($query); while ($row = mysql_fetch_assoc($result)) { echo $row['name'], "<br/>"; }
사용자 기록에 자주 등장하는 태그를 기반으로 해당 질문을 추천해 드립니다. SQL의 IN 연산을 사용하여 태그 이름을 기반으로 관련 질문을 얻을 수 있습니다.
$tags = implode(",", $userTags); $query = "SELECT * FROM question WHERE id NOT IN (SELECT t.question_id FROM tag t WHERE t.name IN ($tags)) LIMIT 5"; $result = mysql_query($query); while ($row = mysql_fetch_assoc($result)) { echo $row['title'], "<br/>"; }
위 내용은 지식질문답변 사이트에서 PHP를 이용하여 태그 관리 및 추천 기능을 구현하는 방법입니다. 태그 관리를 통해 추천 기능을 통해 질문을 더 잘 분류하고 검색할 수 있으며, 사용자의 관심사와 과거 행동을 기반으로 관련 질문을 제공하여 사용자 경험을 향상시킬 수 있습니다. 물론 실제 적용에서는 특정 요구에 따라 추가 확장 및 최적화를 수행할 수 있습니다.
위 내용은 PHP는 지식질문답변 사이트에 태그 관리 및 추천 기능을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!