Rumah >pembangunan bahagian belakang >tutorial php >Cara menggunakan PHP untuk membangunkan carian teks penuh dan pertanyaan kata kunci dalam CMS

Cara menggunakan PHP untuk membangunkan carian teks penuh dan pertanyaan kata kunci dalam CMS

WBOY
WBOYasal
2023-06-21 14:45:461016semak imbas

Dengan pembangunan berterusan teknologi Internet, sistem pengurusan kandungan (CMS) memainkan peranan yang semakin penting dalam aplikasi rangkaian. CMS boleh memudahkan pentadbir dan pencipta tapak web untuk mengekalkan kandungan tapak web, dan carian teks penuh serta pertanyaan kata kunci ialah salah satu fungsi yang biasa digunakan dalam CMS. PHP ialah bahasa pembangunan web yang digunakan secara meluas Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan carian teks penuh dan pertanyaan kata kunci dalam CMS.

1. Carian teks penuh

Carian teks penuh merujuk kepada mencari kata kunci atau frasa tertentu dalam keseluruhan artikel. Untuk melaksanakan fungsi carian teks penuh dalam CMS, anda perlu menggunakan fungsi carian teks penuh MySQL Pada masa yang sama, kod berikut juga boleh digunakan dalam pangkalan data lain.

1.1 Cipta borang carian

Mencipta modul carian dalam tapak web CMS ialah tugas yang kritikal. Tahap kemahiran umum dan corak penggunaan pengguna laman web mesti diambil kira. Di bawah ialah borang carian ringkas yang mengandungi kotak input teks dan butang hantar.

<form action="search_results.php" method="post">
    <input type="text" name="search_keyword">
    <input type="submit" name="submit" value="Search">
</form>

1.2 Melaksanakan fungsi carian

Selepas memasukkan kata kunci dalam borang carian, anda perlu memasukkan kata kunci ke dalam pernyataan pertanyaan. Berikut ialah pernyataan pertanyaan carian teks penuh MySQL asas.

SELECT * FROM `articles` WHERE MATCH (`title`, `content`) AGAINST ('$search_keyword')

Dalam pernyataan pertanyaan ini, kami menanyakan sama ada medan "tajuk" dan "kandungan" dalam jadual "artikel" mengandungi kata kunci carian "$search_keyword". Apabila kata kunci dipadankan, semua kandungan artikel dikembalikan. Perlu diingatkan bahawa dalam kod PHP, kata kunci carian mesti dilepaskan menggunakan fungsi "mysqli_real_escape_string()" MySQL untuk memastikan ketepatan dan keselamatan pernyataan SQL.

$search_keyword = mysqli_real_escape_string($con, $_POST['search_keyword']);

2. Pertanyaan kata kunci

Selain carian teks penuh, CMS juga memerlukan fungsi pertanyaan kata kunci. Fungsi ini digunakan untuk menanyakan semua kata kunci yang berkaitan berdasarkan kata kunci yang disediakan oleh pengguna artikel.

2.1 Buat borang pertanyaan kata kunci

Dalam laman web, untuk pertanyaan kata kunci, jika negara itu mengandungi beberapa kata kunci yang lebih penting, pengguna boleh memasukkan kata kunci dan memilih kepentingannya, dengan itu Tapis keputusan dikembalikan oleh permohonan itu. Di bawah ialah borang carian dengan tiga peringkat pemilih.

<form action="search_results.php" method="post">
    <input type="text" name="search_keyword">
    <select name="importance">
        <option value="1">Low</option>
        <option value="2">Medium</option>
        <option value="3" selected>High</option>
    </select>
    <input type="submit" name="submit" value="Search">
</form>

2.2 Laksanakan fungsi pertanyaan kata kunci

Dalam pelaksanaan pertanyaan kata kunci, adalah perlu untuk menggabungkan pengendali “LIKE” MySQL dan pengendali logik “AND/OR”. Berikut ialah pernyataan pertanyaan asas untuk pertanyaan kata kunci. Antaranya, dalam aplikasi sebenar, $conn perlu ditukar kepada sambungan yang betul ke pangkalan data.

$conn = mysqli_connect($servername, $username, $password, $dbname);
$search_keyword = mysqli_real_escape_string($conn, $_POST['search_keyword']);
$importance = mysqli_real_escape_string($conn, $_POST['importance']);
$query = "SELECT * FROM articles WHERE ";
$query .= "(title LIKE '%$search_keyword%' ";
$query .= "OR content LIKE '%$search_keyword%') ";
if ($importance == 1) {
    $query .= "AND importance = 1";
} elseif ($importance == 2) {
    $query .= "AND importance = 2";
} elseif ($importance == 3) {
    $query .= "AND importance >= 3";
}
$result = mysqli_query($conn, $query);

Dalam pernyataan pertanyaan, pertanyaan pertama sama ada kata kunci carian yang dimasukkan wujud dalam tajuk atau kandungan Jika wujud, teruskan pertanyaan artikel dengan kepentingan bersamaan dengan 1 atau 2 dan artikel dengan kepentingan lebih besar daripada. atau sama dengan 3. . Mungkin terdapat berbilang hasil dan kami boleh mengulangi kesemuanya untuk memaparkan kesemuanya. Kaedah yang serupa juga boleh digunakan untuk fungsi lain dalam CMS, seperti menambah, mengedit dan memadam artikel.

Kaedah yang diperkenalkan dalam artikel ini hanyalah pelaksanaan carian dan pertanyaan asas, dan tidak dapat memenuhi keperluan semua tapak web. Ia juga perlu dikembangkan dan dioptimumkan dalam aplikasi praktikal. Sebagai contoh, anda boleh menggunakan ciri seperti carian lanjutan, halaman dan hasil carian isihan. Walau bagaimanapun, kandungan di atas juga boleh berfungsi sebagai panduan pengenalan, membolehkan anda lebih memahami cara menggunakan PHP untuk membangunkan carian teks penuh dan pertanyaan kata kunci dalam CMS.

Atas ialah kandungan terperinci Cara menggunakan PHP untuk membangunkan carian teks penuh dan pertanyaan kata kunci dalam CMS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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