Rumah pembangunan bahagian belakang masalah PHP Bagaimana untuk melaksanakan rekod carian dalam php

Bagaimana untuk melaksanakan rekod carian dalam php

Apr 18, 2023 am 09:48 AM

Dengan perkembangan Internet, enjin carian telah menjadi salah satu saluran penting untuk orang ramai mendapatkan maklumat. Banyak laman web juga dilengkapi dengan fungsi carian mereka sendiri untuk membantu pengguna mencari kandungan yang mereka perlukan dengan cepat, PHP, sebagai bahasa pengaturcaraan yang biasa digunakan, juga boleh melaksanakan fungsi rakaman carian untuk memberikan pengguna pengalaman pengguna yang lebih baik. Artikel ini akan memperkenalkan cara melaksanakan rekod carian PHP.

1. Reka bentuk pangkalan data

Perkara pertama yang perlu dipertimbangkan ialah reka bentuk pangkalan data. Dalam artikel ini, MySQL digunakan sebagai contoh.

1.1 Reka bentuk jadual

Anda perlu mencipta jadual untuk menyimpan rekod carian pengguna, termasuk medan berikut:

  1. id: pengecam unik rekod , ditambah secara automatik
  2. kata kunci: kata kunci yang dicari oleh pengguna
  3. search_time: masa pengguna mencari, dalam format datetime
  4. user_id: pengecam unik pengguna, yang boleh kosong

Struktur jadual adalah seperti berikut:

BUAT JADUAL search_history (
id int(11) BUKAN NULL AUTO_INCREMENT,
keyword varchar(255) BUKAN NULL lalai ' ',
search_time tarikh masa BUKAN NULL lalai CURRENT_TIMESTAMP,
user_id int(11) lalai NULL,
UTAMA KUNCI ()id >) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

1.2 Perihalan medan

Dalam jadual di atas, anda perlu memberi perhatian kepada perkara berikut:

    id ialah kunci utama, ditambah secara automatik dan digunakan untuk mengenal pasti rekod secara unik.
  1. kata kunci ialah kata kunci yang dicari oleh pengguna dan tidak dibenarkan kosong.
  2. masa_carian ialah masa apabila carian berlaku, format ialah jenis masa tarikh dan nilai lalai ditetapkan kepada masa semasa untuk rakaman mudah.
  3. user_id ialah pengecam unik pengguna, yang boleh memudahkan statistik dan analisis tingkah laku pengguna dalam beberapa senario, tetapi ia bukan medan yang diperlukan, jadi ia boleh kosong.
2. Rekodkan sejarah carian

Dalam halaman, fungsi carian pengguna boleh dilaksanakan melalui borang, dan berdasarkan kandungan carian, ia disimpan ke jadual carian_sejarah yang disebutkan di atas. Kod khusus adalah seperti berikut:

2.1 Sambung ke pangkalan data

Mula-mula anda perlu menyambung ke pangkalan data untuk menyimpan hasil carian dalam pangkalan data.

$conn = mysqli_connect('localhost', 'root', 'password', 'database_name');

if (!$conn) {

die("Connection failed: " . mysqli_connect_error());
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
}

mysqli_set_charset($conn,"utf8mb4");

2.2 Memproses permintaan carian

Dapatkan kandungan yang dimasukkan oleh pengguna dalam kotak carian, contohnya:

$kata kunci = $_REQUEST ['keyword'];

Jika pengguna tidak memasukkan apa-apa, anda tidak perlu menyimpannya ke pangkalan data.

if (empty($keyword)) {

return;
Salin selepas log masuk
}

2.3 Simpan hasil carian ke pangkalan data

Kemudian, simpan carian hasil Pergi ke jadual carian_sejarah di atas untuk merekodkan sejarah carian pengguna.

$sql = "INSERT IN TO search_history (keyword, user_id) NILAI ('$keyword', 1)";

mysqli_query($conn, $sql);

Dalam perkara di atas kod , simpan kata kunci yang dicari dan pengecam unik pengguna (sementara 1) pada kata kunci dan medan user_id dalam jadual carian_sejarah.

3. Paparkan sejarah carian

Jika anda perlu memaparkan sejarah carian di tapak web, anda boleh mendapatkannya dengan menanyakan jadual carian_sejarah dalam pangkalan data. Di bawah ini kami akan memperkenalkan cara melaksanakan fungsi ini melalui PHP.

3.1 Tanya pangkalan data

$conn = mysqli_connect('localhost', 'root', 'password', 'database_name');

if (!$conn) {

die("Connection failed: " . mysqli_connect_error());
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
}

mysqli_set_charset($conn,"utf8mb4");

$sql = "SELECT * FROM search_history ORDER BY search_time DESC LIMIT 10";

$result = mysqli_query ( $conn, $sql);

Kod di atas mula-mula bersambung ke pangkalan data, dan menanyakan semua rekod dalam jadual carian_sejarah, menyusunnya dalam susunan kronologi terbalik dan memperoleh 10 rekod terbaharu teratas.

3.2 Dapatkan rekod sejarah

Seterusnya, putar rekod yang diperoleh dan keluarkannya ke halaman.

jika (mysqli_num_rows($result) > 0) {

while($row = mysqli_fetch_assoc($result)) {
    echo $row["keyword"];
}
Salin selepas log masuk
} lain {

echo "暂无搜索历史记录";
Salin selepas log masuk
}

Kod di atas dahulu menentukan Periksa sama ada hasil pertanyaan kosong Jika ia tidak kosong, kata kunci setiap rekod akan dikeluarkan ke halaman melalui lintasan gelung Jika ia kosong, mesej segera akan dikeluarkan.

4. Padamkan sejarah carian

Jika pengguna perlu memadamkan beberapa sejarah carian, dia boleh mengosongkan rekod yang perlu dipadamkan daripada pangkalan data dengan menambahkan butang "Padam" pada halaman .

4.1 Menyambung ke pangkalan data

Operasi adalah sama seperti di atas dan tidak akan diulang di sini.

$conn = mysqli_connect('localhost', 'root', 'password', 'database_name');

if (!$conn) {

die("Connection failed: " . mysqli_connect_error());
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
}

mysqli_set_charset($conn,"utf8mb4");

4.2 Proses permintaan pemadaman

Dapatkan id rekod yang pengguna perlu padamkan dan padamkannya daripada pangkalan data.

$id = $_REQUEST['id'];

jika (!kosong($id)) {

$sql = "DELETE FROM search_history WHERE id='$id'";
mysqli_query($conn, $sql);
Salin selepas log masuk
}

jika Jika id kosong, tiada tindakan diperlukan.

5

Melalui pengenalan di atas, kita dapati bahawa pelaksanaan rekod carian PHP terutamanya perlu berkisar pada reka bentuk pangkalan data Dengan menetapkan medan yang sepadan dalam jadual, hasil carian dan masa rakaman disimpan dalam pangkalan data untuk memudahkan pertanyaan dan pameran. Sudah tentu, anda perlu memberi perhatian kepada isu keselamatan dan mengelakkan suntikan SQL dan serangan lain. Pada masa yang sama, jika anda perlu melaksanakan fungsi rekod carian dengan lebih fleksibel, anda juga boleh menggunakan teknologi lain, seperti kuki, sesi, dsb.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan rekod carian dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

PHP 8 JIT (Just-in-Time) Penyusunan: Bagaimana ia meningkatkan prestasi. PHP 8 JIT (Just-in-Time) Penyusunan: Bagaimana ia meningkatkan prestasi. Mar 25, 2025 am 10:37 AM

Kompilasi JIT Php 8 meningkatkan prestasi dengan menyusun kod yang sering dilaksanakan ke dalam kod mesin, memberi manfaat kepada aplikasi dengan pengiraan berat dan mengurangkan masa pelaksanaan.

OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum. OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum. Mar 26, 2025 pm 04:13 PM

Artikel ini membincangkan kelemahan OWASP 10 dalam strategi PHP dan mitigasi. Isu -isu utama termasuk suntikan, pengesahan yang rosak, dan XSS, dengan alat yang disyorkan untuk memantau dan mendapatkan aplikasi PHP.

PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail. PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail. Mar 26, 2025 pm 04:18 PM

Artikel ini membincangkan mendapatkan muat naik fail PHP untuk mengelakkan kelemahan seperti suntikan kod. Ia memberi tumpuan kepada pengesahan jenis fail, penyimpanan selamat, dan pengendalian ralat untuk meningkatkan keselamatan aplikasi.

Penyulitan PHP: Penyulitan simetri vs asimetrik. Penyulitan PHP: Penyulitan simetri vs asimetrik. Mar 25, 2025 pm 03:12 PM

Artikel ini membincangkan penyulitan simetri dan asimetrik dalam PHP, membandingkan kesesuaian, prestasi, dan perbezaan keselamatan mereka. Penyulitan simetri lebih cepat dan sesuai untuk data pukal, manakala asimetrik digunakan untuk pertukaran utama yang selamat.

Pengesahan PHP & amp; Kebenaran: Pelaksanaan selamat. Pengesahan PHP & amp; Kebenaran: Pelaksanaan selamat. Mar 25, 2025 pm 03:06 PM

Artikel ini membincangkan pelaksanaan pengesahan dan kebenaran yang mantap dalam PHP untuk mencegah akses yang tidak dibenarkan, memperincikan amalan terbaik dan mengesyorkan alat peningkatan keselamatan.

PHP CSRF Perlindungan: Bagaimana untuk mencegah serangan CSRF. PHP CSRF Perlindungan: Bagaimana untuk mencegah serangan CSRF. Mar 25, 2025 pm 03:05 PM

Artikel ini membincangkan strategi untuk mencegah serangan CSRF di PHP, termasuk menggunakan token CSRF, kuki tapak yang sama, dan pengurusan sesi yang betul.

Bagaimana anda mengambil data dari pangkalan data menggunakan PHP? Bagaimana anda mengambil data dari pangkalan data menggunakan PHP? Mar 20, 2025 pm 04:57 PM

Artikel membincangkan mendapatkan data dari pangkalan data menggunakan PHP, meliputi langkah, langkah keselamatan, teknik pengoptimuman, dan kesilapan umum dengan penyelesaian.

PHP API Kadar Mengehadkan: Strategi Pelaksanaan. PHP API Kadar Mengehadkan: Strategi Pelaksanaan. Mar 26, 2025 pm 04:16 PM

Artikel ini membincangkan strategi untuk melaksanakan kadar API yang mengehadkan PHP, termasuk algoritma seperti baldi token dan baldi bocor, dan menggunakan perpustakaan seperti simfoni/kadar-limiter. Ia juga meliputi pemantauan, had kadar penyesuaian secara dinamik, dan tangan

See all articles