Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk melaksanakan fungsi pertanyaan carian dalam php

Bagaimana untuk melaksanakan fungsi pertanyaan carian dalam php

PHPz
Lepaskan: 2023-04-10 14:00:56
asal
1339 orang telah melayarinya

Dengan perkembangan Internet, carian dalam talian telah menjadi semakin biasa. Sama ada tapak web e-dagang atau laman web blog, fungsi carian adalah penting. Dalam PHP, tidak sukar untuk melaksanakan fungsi pertanyaan carian Artikel ini akan memperkenalkan cara menggunakan PHP untuk menulis fungsi pertanyaan carian.

  1. Tetapan pangkalan data

Sebelum menggunakan PHP untuk melaksanakan pertanyaan carian, anda mesti menyediakan pangkalan data terlebih dahulu. Mula-mula anda perlu mencipta pangkalan data dan menambah jadual data padanya. Jadual data hendaklah mengandungi medan data yang hendak dicari, seperti tajuk artikel, kandungan, pengarang, dsb.

  1. Menulis borang pertanyaan carian

Buat borang pertanyaan carian dalam HTML seperti ini:

<form action="search.php" method="get">
  <input type="text" name="search">
  <button type="submit">搜索</button>
</form>
Salin selepas log masuk

Kod ini mengandungi kotak teks dan butang hantar di mana pengguna boleh memasukkan kata kunci untuk mencari dan menyerahkan borang.

  1. Menulis skrip pertanyaan carian

Kini kita perlu menulis skrip PHP untuk memproses kata kunci carian yang dimasukkan oleh pengguna dan mendapatkan hasil yang sepadan daripada pangkalan data. Berikut ialah skrip pertanyaan carian mudah:

<?php
// 连接数据库
$dbhost = &#39;localhost&#39;;
$dbuser = &#39;root&#39;;
$dbpass = &#39;&#39;;
$dbname = &#39;myDB&#39;;
$conn = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);

// 处理用户输入的搜索关键字
$search = mysqli_real_escape_string($conn, $_GET[&#39;search&#39;]);

// 从数据库中获取匹配的结果
$sql = "SELECT * FROM articles WHERE title LIKE &#39;%$search%&#39; OR content LIKE &#39;%$search%&#39;";
$result = mysqli_query($conn, $sql);

// 输出结果
while ($row = mysqli_fetch_assoc($result)) {
  echo $row[&#39;title&#39;] . &#39;<br>';
  echo $row['content'] . '<br>';
  echo $row['author'] . '<br>';
}

// 关闭连接
mysqli_close($conn);
?>
Salin selepas log masuk

Skrip ini bersambung ke pangkalan data dan mendapat hasil yang sepadan daripada pangkalan data berdasarkan kata kunci carian yang dimasukkan oleh pengguna. Ambil perhatian bahawa fungsi mysqli_real_escape_string() digunakan untuk memproses kata kunci carian yang dimasukkan oleh pengguna untuk menghalang serangan suntikan SQL.

  1. Optimumkan fungsi pertanyaan carian

Skrip di atas melaksanakan fungsi pertanyaan carian asas, tetapi ia boleh dioptimumkan lagi. Berikut ialah beberapa cadangan pengoptimuman:

  • Gunakan teknologi halaman. Jika terdapat terlalu banyak hasil, menggunakan teknologi penomboran untuk membahagikan hasil kepada berbilang halaman boleh meningkatkan pengalaman pengguna.
  • Gunakan carian teks penuh. Dalam pangkalan data yang besar, mencari hasil yang sepadan adalah lebih pantas menggunakan enjin carian teks penuh.
  • Gunakan cadangan carian. Apabila pengguna memasukkan kata kunci carian, memberikan beberapa cadangan carian yang berkaitan boleh membantu pengguna mencari perkara yang mereka inginkan dengan lebih cepat.

Kesimpulan

Tidak sukar untuk melaksanakan fungsi pertanyaan carian menggunakan PHP, ia hanya memerlukan beberapa pengetahuan asas pangkalan data dan kemahiran pengaturcaraan. Menggabungkan cadangan dalam artikel ini ke dalam kod anda boleh meningkatkan kecekapan dan pengalaman pengguna kefungsian pertanyaan carian anda.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan fungsi pertanyaan carian 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