Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk melaksanakan carian kata kunci untuk data mysql dalam php

Bagaimana untuk melaksanakan carian kata kunci untuk data mysql dalam php

PHPz
Lepaskan: 2023-04-19 09:31:47
asal
987 orang telah melayarinya

Dengan perkembangan Internet, enjin carian telah menjadi salah satu cara utama untuk orang ramai mendapatkan maklumat. Dalam pembangunan laman web, melaksanakan fungsi carian kata kunci secara beransur-ansur menjadi keperluan yang diperlukan. Artikel ini akan memperkenalkan cara menggunakan bahasa PHP untuk melaksanakan fungsi carian kata kunci untuk data MySQL.

1. Kerja penyediaan

Sebelum kita mula menulis kod, kita perlu melakukan beberapa kerja persediaan. Pertama, kita perlu memastikan kita sudah mempunyai pangkalan data mysql dengan beberapa data di dalamnya.

Seterusnya, buat jadual data ujian dalam pangkalan data mysql. Kita boleh menggunakan pernyataan SQL berikut untuk mencipta jadual data bernama "test":

CREATE TABLE test (
id int(11) NOT NULL AUTO_INCREMENT,
title varchar (255 ) BUKAN NULL,
content teks BUKAN NULL,
KUNCI UTAMA (id)
) ENGINE=InnoDB AUTO_INCREMENT=1 CARSET LAALA=utf8mb4;

Data ini mengandungi tiga medan: id, tajuk dan kandungan. Antaranya, medan id ialah medan peningkatan automatik dan digunakan untuk mengenal pasti secara unik setiap bahagian data. Medan tajuk mewakili tajuk data, dan medan kandungan mewakili kandungan data.

2. Laksanakan fungsi carian

Secara umumnya, fungsi carian kata kunci boleh terdiri daripada dua langkah: masukkan kata kunci dan data pertanyaan. Dalam php, kita boleh melaksanakan fungsi carian dengan mendapatkan kata kunci yang dimasukkan oleh pengguna dan memadankannya dengan data dalam pangkalan data.

1. Dapatkan kata kunci yang dimasukkan oleh pengguna

Pertama, kita perlu menambah borang yang mengandungi kotak input dan butang hantar ke halaman untuk menerima kata kunci yang dimasukkan oleh pengguna. Kodnya adalah seperti berikut:




Borang ini mengandungi kotak teks dan butang hantar. Apabila pengguna mengklik butang hantar, borang akan menyerahkan kata kunci yang dimasukkan oleh pengguna ke fail PHP bernama "search.php" untuk diproses.

Dalam fail bernama "search.php", kita perlu terlebih dahulu mendapatkan kata kunci yang dimasukkan oleh pengguna. Kodnya adalah seperti berikut:

$keyword = $_GET['keyword'];

Kod ini menggunakan pembolehubah $_GET terbina dalam PHP untuk mendapatkan fail "search.php" yang diserahkan dalam DAPATKAN data mod masuk. Dalam contoh ini, kata kunci yang dimasukkan oleh pengguna disimpan dalam pembolehubah $kata kunci.

2. Data pertanyaan

Selepas mendapat kata kunci yang dimasukkan oleh pengguna, kita perlu menanyakan data yang mengandungi kata kunci dalam pangkalan data mysql. Kodnya adalah seperti berikut:

//Sambung ke pangkalan data
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = " dbname";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection gagal: " . $ conn->connect_error);
}

// Data pertanyaan
$sql = "PILIH * DARI ujian DI MANA tajuk SEPERTI '%$kata kunci%' ATAU kandungan SEPERTI ' %$keyword%' ";
$result = $conn->query($sql);

// Output result
if ($result->num_rows > 0) {
sementara( $row = $result->fetch_assoc()) {

echo "标题:" . $row["title"] . "<br>内容:" . $row["content"] . "<br><br>";
Salin selepas log masuk
Salin selepas log masuk

}
} yang lain {
echo "Tiada data berkaitan ditemui";
}

Dalam kod ini, kami mula-mula menyambung ke pangkalan data mysql dan menggunakan kelas mysqli terbina dalam PHP untuk melaksanakan pernyataan pertanyaan SQL. Pernyataan SQL menggunakan operator LIKE untuk memadankan data yang mengandungi $kata kunci dalam medan tajuk dan kandungan.

Seterusnya, kami menggunakan kaedah query() terbina dalam PHP untuk melaksanakan pernyataan SQL di atas dan menyimpan hasilnya dalam pembolehubah $result. Jika data ditanya, gunakan gelung sementara untuk mengeluarkan setiap keping data pertanyaan ke halaman secara bergilir-gilir.

Jika tiada data berkaitan ditemui, mesej gesaan "Tiada data berkaitan ditemui" akan dikeluarkan.

3. Lengkapkan kod

Dengan menggabungkan kod dua langkah sebelumnya, fungsi carian boleh dilaksanakan sepenuhnya. Kod php lengkap adalah seperti berikut:

$keyword = $_GET['keyword'];

$servername = "localhost";
$username = " nama pengguna";
$kata laluan = "kata laluan";
$dbname = "dbname";

$conn = mysqli baharu($nama pelayan, $nama pengguna, $kata laluan, $dbname);
jika ($conn->connect_error) {
die("Sambungan gagal: " . $conn->connect_error);
}

$sql = "PILIH * DARI ujian DI MANA tajuk SEPERTI '%$kata kunci%' ATAU kandungan SEPERTI '%$kata kunci%'";
$result = $conn->query($sql);

if ($result-> num_rows > ; 0) {
while($row = $result->fetch_assoc()) {

echo "标题:" . $row["title"] . "<br>内容:" . $row["content"] . "<br><br>";
Salin selepas log masuk
Salin selepas log masuk

}
} else {
echo "No related data found" ;
}

$conn->close();
?>

4

Melalui pengenalan artikel ini, kami telah mempelajari cara menggunakan bahasa PHP untuk melaksanakan fungsi carian kata kunci untuk data MySQL. Dalam proses melaksanakan fungsi ini, kita perlu menguasai cara mendapatkan data input pengguna, cara menyambung ke pangkalan data, cara melaksanakan pernyataan pertanyaan SQL dan mengeluarkan data yang ditanya ke halaman.

Dalam pembangunan laman web sebenar, pelaksanaan fungsi carian selalunya rumit. Kami perlu menggunakan pelbagai bahasa dan teknologi secara menyeluruh seperti php, mysql, javascript, dll. untuk menyelesaikan tugasan ini. Walau bagaimanapun, selepas menguasai kaedah pelaksanaan fungsi carian asas, kita boleh lebih memahami dan mengambil bahagian dalam pembangunan laman web yang lebih kompleks.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan carian kata kunci untuk data mysql dalam php. 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