> 백엔드 개발 > PHP 튜토리얼 > PHP는 지식질문답변 사이트에 질문 검색 이력 및 추천 기능을 구현합니다.

PHP는 지식질문답변 사이트에 질문 검색 이력 및 추천 기능을 구현합니다.

WBOY
풀어 주다: 2023-08-03 15:32:02
원래의
1525명이 탐색했습니다.

PHP는 지식질문답변 사이트에 질문 검색 내역 및 추천 기능을 구현합니다.

지식 질문 및 답변 웹사이트에서 사용자는 필요한 답변을 찾기 위해 질문 검색을 수행해야 하는 경우가 많습니다. 사용자 경험을 향상시키기 위해 사용자가 이전에 검색했던 질문을 쉽게 볼 수 있도록 검색 기록 기능을 제공할 수 있으며, 추천 기능을 통해 사용자에게 관련 질문을 추천할 수도 있습니다. 아래에서는 PHP를 사용하여 이 두 가지 기능을 구현하겠습니다.

  1. 질문 검색 기록 기능 구현
    검색 기록 기능을 구현하려면 사용자가 질문 검색을 할 때마다 검색 키워드를 데이터베이스에 저장해야 합니다. 구체적인 구현 단계는 다음과 같습니다.

1) id와 키워드라는 두 개의 필드를 포함하는 "search_history"라는 데이터 테이블을 만듭니다.

CREATE TABLE search_history (

id INT AUTO_INCREMENT PRIMARY KEY,
keyword VARCHAR(255) NOT NULL
로그인 후 복사

);

2) 사용자가 질문 검색을 제출하면 사용자가 입력한 검색 키워드를 "search_history" 테이블에 삽입합니다.

// 连接数据库
$conn = mysqli_connect("localhost", "username", "password", "database");

// 检查数据库连接
if (!$conn) {
    die("数据库连接失败: " . mysqli_connect_error());
}

// 获取用户输入的搜索关键词
$keyword = $_POST["keyword"];

// 将搜索关键词插入到数据库中
$sql = "INSERT INTO search_history (keyword) VALUES ('$keyword')";
mysqli_query($conn, $sql);

// 关闭数据库连接
mysqli_close($conn);
로그인 후 복사

?>

3) 검색 기록 표시: 사용자가 이전에 검색한 키워드를 데이터베이스에서 가져와서 페이지에 표시합니다.

// 连接数据库
$conn = mysqli_connect("localhost", "username", "password", "database");

// 检查数据库连接
if (!$conn) {
    die("数据库连接失败: " . mysqli_connect_error());
}

// 从数据库中获取搜索历史
$sql = "SELECT keyword FROM search_history ORDER BY id DESC LIMIT 10";
$result = mysqli_query($conn, $sql);

// 显示搜索历史
if (mysqli_num_rows($result) > 0) {
    while ($row = mysqli_fetch_assoc($result)) {
        echo $row["keyword"] . "<br>";
    }
} else {
    echo "没有搜索历史。";
}

// 关闭数据库连接
mysqli_close($conn);
로그인 후 복사

?>

  1. 질문 추천 기능 구현
    질문 추천 기능을 구현하기 위해 사용자의 현재 검색 키워드를 기반으로 데이터베이스에서 관련 질문을 찾아 추천할 수 있습니다. 사용자. 구체적인 구현 단계는 다음과 같습니다.

1) id와 content라는 두 개의 필드를 포함하는 "questions"라는 데이터 테이블을 만듭니다.

CREATE TABLE 질문(

id INT AUTO_INCREMENT PRIMARY KEY,
content VARCHAR(255) NOT NULL
로그인 후 복사

);

2) 사용자가 질문 검색을 제출하면 검색 키워드 및 관련 질문이 데이터베이스에 저장됩니다.

// 连接数据库
$conn = mysqli_connect("localhost", "username", "password", "database");

// 检查数据库连接
if (!$conn) {
    die("数据库连接失败: " . mysqli_connect_error());
}

// 获取用户输入的搜索关键词
$keyword = $_POST["keyword"];

// 查询相关的问题
$sql = "SELECT content FROM questions WHERE content LIKE '%$keyword%'";
$result = mysqli_query($conn, $sql);

// 将搜索关键词和相关问题保存到数据库中
while ($row = mysqli_fetch_assoc($result)) {
    $content = $row["content"];
    $sql = "INSERT INTO questions (content) VALUES ('$content')";
    mysqli_query($conn, $sql);
}

// 关闭数据库连接
mysqli_close($conn);
로그인 후 복사

?>

3) 사용자의 현재 검색 키워드를 기반으로 데이터베이스에서 관련 질문을 가져와 사용자에게 추천합니다.

// 连接数据库
$conn = mysqli_connect("localhost", "username", "password", "database");

// 检查数据库连接
if (!$conn) {
    die("数据库连接失败: " . mysqli_connect_error());
}

// 获取用户输入的搜索关键词
$keyword = $_POST["keyword"];

// 查询相关的问题
$sql = "SELECT content FROM questions WHERE content LIKE '%$keyword%'";
$result = mysqli_query($conn, $sql);

// 显示推荐的问题
if (mysqli_num_rows($result) > 0) {
    while ($row = mysqli_fetch_assoc($result)) {
        echo $row["content"] . "<br>";
    }
} else {
    echo "没有相关的问题。";
}

// 关闭数据库连接
mysqli_close($conn);
로그인 후 복사

?>

위의 코드 예시를 통해 지식질문답 사이트에 질문 검색 이력 및 추천 기능을 구현하고, 사용자 경험을 향상시키며, 사용자가 원하는 답변을 더 빠르게 찾을 수 있도록 도와줍니다. . 물론 이는 단순한 예시일 뿐 실제 적용에서는 검색 알고리즘 최적화, 데이터베이스 성능 향상 등 더 많은 요소를 고려해야 한다. 하지만 이 글이 여러분에게 기본적인 아이디어와 구현 방법을 제공할 수 있기를 바랍니다.

위 내용은 PHP는 지식질문답변 사이트에 질문 검색 이력 및 추천 기능을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿