PHP melaksanakan sejarah carian soalan dan fungsi cadangan dalam laman web soalan dan jawapan pengetahuan.

WBOY
Lepaskan: 2023-08-03 15:32:02
asal
1468 orang telah melayarinya

PHP melaksanakan sejarah carian soalan dan fungsi pengesyoran dalam laman web soalan dan jawapan pengetahuan.

Dalam laman web soal jawab pengetahuan, pengguna selalunya perlu melakukan carian soalan untuk mencari jawapan yang mereka perlukan. Untuk meningkatkan pengalaman pengguna, kami boleh menyediakan pengguna dengan fungsi sejarah carian supaya pengguna boleh melihat dengan mudah soalan yang telah mereka cari sebelum ini, dan juga boleh mengesyorkan soalan berkaitan kepada pengguna melalui fungsi pengesyoran. Di bawah ini kita akan menggunakan PHP untuk melaksanakan kedua-dua fungsi ini.

  1. Pelaksanaan fungsi sejarah carian soalan
    Untuk melaksanakan fungsi sejarah carian, kita perlu menyimpan kata kunci carian ke pangkalan data setiap kali pengguna melakukan carian soalan. Langkah pelaksanaan khusus adalah seperti berikut:

1) Buat jadual data bernama "sejarah_carian", mengandungi dua medan: id dan kata kunci.

CIPTA JADUAL carian_sejarah (

id INT AUTO_INCREMENT PRIMARY KEY,
keyword VARCHAR(255) NOT NULL
Salin selepas log masuk

);

2) Apabila pengguna menyerahkan carian soalan, masukkan kata kunci carian yang dimasukkan oleh pengguna ke dalam jadual "sejarah_carian".

// 连接数据库
$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);
Salin selepas log masuk

?>

3) Paparkan sejarah carian: Dapatkan kata kunci yang sebelumnya dicari oleh pengguna daripada pangkalan data dan paparkannya pada halaman.

// 连接数据库
$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);
Salin selepas log masuk

?>

  1. Pelaksanaan fungsi pengesyoran soalan
    Untuk melaksanakan fungsi pengesyoran soalan, kami boleh mencari soalan yang berkaitan dalam pangkalan data berdasarkan kata kunci carian semasa pengguna dan mengesyorkan soalan ini kepada pengguna. Langkah pelaksanaan khusus adalah seperti berikut:

1) Buat jadual data bernama "soalan", mengandungi dua medan: id dan kandungan.

CIPTA soalan JADUAL (

id INT AUTO_INCREMENT PRIMARY KEY,
content VARCHAR(255) NOT NULL
Salin selepas log masuk

);

2) Selepas pengguna menyerahkan carian soalan, kata kunci carian dan soalan berkaitan disimpan dalam pangkalan data.

// 连接数据库
$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);
Salin selepas log masuk

?>

3) Dapatkan soalan berkaitan daripada pangkalan data berdasarkan kata kunci carian semasa pengguna dan mengesyorkannya kepada pengguna.

// 连接数据库
$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);
Salin selepas log masuk

?>

Melalui contoh kod di atas, kami boleh melaksanakan sejarah carian soalan dan fungsi pengesyoran dalam tapak web soal jawab pengetahuan, meningkatkan pengalaman pengguna dan membantu pengguna mencari jawapan yang mereka perlukan dengan lebih cepat . Sudah tentu, ini hanyalah contoh mudah, dan lebih banyak faktor perlu dipertimbangkan dalam aplikasi sebenar, seperti pengoptimuman algoritma carian dan peningkatan prestasi pangkalan data. Walau bagaimanapun, saya berharap artikel ini dapat memberikan anda idea asas dan kaedah pelaksanaan.

Atas ialah kandungan terperinci PHP melaksanakan sejarah carian soalan dan fungsi cadangan dalam laman web soalan dan jawapan pengetahuan.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!