Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk melaksanakan fungsi carian di laman web menggunakan PHP

Bagaimana untuk melaksanakan fungsi carian di laman web menggunakan PHP

WBOY
WBOYasal
2023-06-23 11:07:263890semak imbas

Dengan populariti dan perkembangan Internet, laman web telah menjadi salah satu saluran penting untuk orang ramai mendapatkan maklumat dan perkhidmatan. Fungsi carian di laman web adalah salah satu alat penting untuk pengguna mendapatkan maklumat yang mereka perlukan dengan cepat. Artikel ini memberikan penerangan ringkas tentang cara menggunakan PHP untuk melaksanakan fungsi carian di tapak web.

1. Prinsip asas fungsi carian

Untuk melaksanakan fungsi carian di tapak web, anda perlu melengkapkan 4 langkah asas berikut:

1 kata kunci untuk mencari; .

2. Kaedah teknikal untuk melaksanakan fungsi carian

1. Cara teknikal yang paling penting untuk melaksanakan fungsi carian ialah menggunakan bahasa SQL untuk menanyakan pangkalan data. Dalam PHP, gunakan sambungan pangkalan data seperti mysqli atau PDO untuk menyambung ke pangkalan data untuk operasi pertanyaan. Untuk perkhidmatan enjin carian profesional, anda juga boleh menggunakan perkhidmatan enjin carian seperti sphinx dan Lucene.

2. Apabila melaksanakan fungsi carian, anda perlu memberi perhatian kepada isu teknikal berikut:

(1) Cegah suntikan SQL. Kata kunci carian yang dimasukkan oleh pengguna perlu ditapis dan disahkan untuk mengelakkan suntikan data berniat jahat.

(2) Kecekapan fungsi carian. Untuk tapak web yang besar, fungsi carian akan menanyakan sejumlah besar data dalam pangkalan data, dan fungsi carian perlu dioptimumkan, seperti menggunakan indeks.

(3) Pembentangan hasil carian. Hasil carian di laman web hendaklah dikelaskan, diisih atau dinomborkan mengikut keperluan carian pengguna.

3. Pertempuran praktikal: PHP melaksanakan fungsi carian di tapak web

Mengkonfigurasi pangkalan data

  1. Sebelum melaksanakan fungsi carian, anda perlu mengkonfigurasi pangkalan data pertama bahagian belakang. Andaikan bahawa pangkalan data kami dinamakan "mydb" dan jadual dinamakan "berita", yang menyimpan tajuk dan medan kandungan maklumat berita. Kita boleh menggunakan pernyataan berikut untuk mencipta jadual:
BUAT JADUAL JIKA TIDAK WUJUD

(

int(11) BUKAN NULL AUTO_INCREMENT,news
varchar(100) NOT NULL ,id
text NOT NULL,title PRIMER KEY (
)content) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
id
Implement antara muka carian

  1. Kita perlu membina antara muka untuk fungsi carian, di mana pengguna boleh memasukkan kata kunci dalam kotak carian. Masukkan kata kunci dalam kotak carian, klik butang hantar atau tekan kekunci Enter untuk melompat ke halaman search.php untuk diproses.
Kodnya adalah seperti berikut:








3 pangkalan data untuk melaksanakan fungsi carian

Dalam carian.php, kami akan mendapat data yang sepadan dengan kriteria carian daripada pangkalan data dan membentangkannya. Kita perlu menggunakan sambungan mysqli PHP untuk menyambung ke pangkalan data. Kodnya adalah seperti berikut:

$q = $_GET['q']; //Dapatkan kata kunci carian
jika ($q == '') {

echo "Sila masukkan kata kunci untuk mencari";

keluar;

}

$con = mysqli_connect('localhost', 'root', '', 'mydb'); //Sambung ke pangkalan data

jika (!$con) {

die("Tidak dapat menyambung ke pangkalan data: " . mysqli_error($con));
}
mysqli_select_db($con, "mydb");//Pilih pangkalan data
mysqli_query ($con, "set nama 'utf8'");
$sql = "pilih * dari berita di mana tajuk seperti '%' atau kandungan seperti '%" q . "%' pesanan mengikut id desc";
$result = mysqli_query($con, $sql);
if (!$result) {
printf("Ralat: %s
" , mysqli_error($con ));
exit();
}
while ($row = mysqli_fetch_array($result)) {//Gelung untuk mendapatkan data yang layak dan membentangkannya
echo '< ;h3>' $row['title'] '';
echo '

' >}
mysqli_close($con); //Tutup sambungan pangkalan data
?>

Kod di atas menyambung ke pangkalan data melalui sambungan mysqli dan menanyakan data yang memenuhi syarat carian daripada pangkalan data. Ia termasuk langkah berikut:

(1) Tapis dan sahkan kata kunci yang dimasukkan oleh pengguna untuk menghalang suntikan SQL

(2) Gunakan mysqli_connect() untuk menyambung ke pangkalan data mydb pada localhost; . Jika Tidak dapat menyambung, keluar dengan ralat sambungan.

(3) Pilih pangkalan data mydb dan tetapkan pengekodan pangkalan data kepada 'utf8'.

(4) Gunakan pernyataan pertanyaan SQL untuk menanyakan data yang layak dalam jadual berita dan gunakan $order_rows untuk mengisih dalam tertib menurun.

(5) Gelung untuk mendapatkan data hasil pertanyaan dan membentangkan tajuk dan kandungan pada halaman web.

(6) Tutup sambungan pangkalan data.

4

Artikel ini memperkenalkan cara menggunakan PHP untuk melaksanakan fungsi carian di tapak web, termasuk prinsip asas, kaedah teknikal dan latihan praktikal untuk melaksanakan carian. Dalam demonstrasi artikel ini, kami menggunakan mysqli untuk menanyakan pangkalan data, menapis dan mengesahkan kata kunci carian, dan mengelakkan risiko keselamatan suntikan SQL. Dengan mempelajari artikel ini, anda juga boleh menjalankan penyelidikan yang lebih mendalam tentang cara teknikal enjin carian yang lain.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan fungsi carian di laman web menggunakan PHP. 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