PHP dan Ajax: Membina enjin cadangan autolengkap
Jun 02, 2024 pm 08:39 PMBina enjin cadangan autolengkap menggunakan PHP dan Ajax: Skrip sisi pelayan: mengendalikan permintaan Ajax dan mengembalikan cadangan (autocomplete.php). Skrip pelanggan: Hantar permintaan Ajax dan cadangan paparan (autocomplete.js). Contoh praktikal: Sertakan skrip dalam halaman HTML dan nyatakan pengecam elemen input carian.
PHP dengan Ajax: Membina Enjin Cadangan Autolengkap
Pengenalan
Enjin cadangan autolengkap ialah alat berguna yang membantu pengguna mencari cadangan dalam medan input. Ia biasanya digunakan dalam medan carian, medan alamat dan kawasan input teks lain. Artikel ini akan membimbing anda membina enjin cadangan autolengkap menggunakan PHP dan Ajax.
Skrip Sisi Pelayan
Pertama, kami memerlukan skrip PHP untuk mengendalikan permintaan Ajax dan cadangan pengembalian. Cipta fail bernama autocomplete.php
dan tambahkan kod berikut: autocomplete.php
的文件并添加以下代碼:
<?php // 獲取查詢字符串 $query = $_GET['query']; // 連接到數據庫 $conn = new mysqli("localhost", "my_user", "my_password", "my_db"); // 準備 SQL 查詢 $stmt = $conn->prepare("SELECT suggestion FROM suggestions WHERE suggestion LIKE ?"); // 綁定查詢參數 $stmt->bind_param("s", "%$query%"); // 執(zhí)行查詢 $stmt->execute(); // 獲取結果 $result = $stmt->get_result(); // 逐行讀取結果并將其轉換為 JSON $suggestions = array(); while ($row = $result->fetch_assoc()) { $suggestions[] = $row['suggestion']; } $json = json_encode($suggestions); // 返回 JSON 響應 header("Content-Type: application/json"); echo $json; ?>
客戶端腳本
接下來,我們需要一個客戶端腳本來發(fā)送 Ajax 請求并顯示建議。創(chuàng)建一個名為 autocomplete.js
的文件并添加以下代碼:
// 獲取搜索輸入元素 const searchInput = document.getElementById("search-input"); // 添加事件監(jiān)聽器以在按鍵盤鍵時觸發(fā) searchInput.addEventListener("keyup", function(event) { // 獲取查詢字符串 const query = searchInput.value; // 如果查詢字符串為空,則顯示建議 if (query.length > 0) { // 創(chuàng)建 Ajax 請求 const xhr = new XMLHttpRequest(); xhr.open("GET", "autocomplete.php?query=" + query, true); xhr.onload = function() { // 解析 JSON 響應 const suggestions = JSON.parse(xhr.responseText); // 顯示建議 // ... (由你實現) }; xhr.send(); } });
實戰(zhàn)案例
為了使用自動完成建議引擎,你可以在 HTML 頁面中包含上述腳本文件并為 search-input
元素添加標識符。在 autocomplete.php
腳本中,你需要將數據庫連接參數更改為與你的數據庫設置匹配。
運行引擎
將 autocomplete.php
和 autocomplete.js
文件上傳到你的服務器。訪問包含 search-input
rrreee
autocomplete.js
dan tambahkan kod berikut: ??rrreee????Contoh praktikal??????Untuk menggunakan enjin cadangan autolengkap, anda boleh memasukkan fail skrip di atas dalam halaman HTML anda dan sediakan elemen search-input menambah pengecam. Dalam skrip autocomplete.php
, anda perlu menukar parameter sambungan pangkalan data untuk memadankan tetapan pangkalan data anda. ??????Jalankan Enjin??????Muat naik fail autocomplete.php
dan autocomplete.js
ke pelayan anda. Lawati halaman HTML yang mengandungi elemen search-input
dan mula memasukkan rentetan pertanyaan. Anda seharusnya melihat cadangan yang sepadan dengan pertanyaan anda. ??Atas ialah kandungan terperinci PHP dan Ajax: Membina enjin cadangan autolengkap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tostaycurrentwithphpdevelopmentsandbestpractices, followeyNewsssourcesLikePhp.netandphpweekly, engageWithCommunitiesonforumsandconference, keeptoolingupdatedandgraduallyAdoptNewFeatures, dan readribcoursourcourceSource

Phpbecamepopularforwebdevelopmentduetoitseaseoflearning, seamlessintegrationwithhtml, widespreadhostingsupport, andalargeecosystemincludingframeworkslikelaravelandcmsplatformsLikeWordPress.itexcelsinhandessubmissions

TosetTheRightTimeZoneinPhp, USEDATE_DEFAULT_TIMEZONE_SET () functionAtthestArtAfyourscriptwithavalididentifiersuchas'america/new_york'.1.usedate_default_timeSet ()

TOVALIDATEUSERIputInphp, UsEbuilt-InvalidationFunctionsLikeFilter_var () danFilter_Input (), applyRegularExpressionsforcustomformatssuchasususerorphonenumbers, checkdatatypesfornumericressplimeSpriceSprice, setLengthacheAngeAgeorpriceSprice, setLengthacheArpesenprice,

ThPhpFunctionserialize () andUnserialize () diselaraskanToConvertComplexDataStructructDestoresIntoStorasandabackagain.1.Serialize () C overtsdatalikeCarraysorObjectSrayStringContainingTyPeanStructureStructureStructureStructure.2.2Serialize ()

Anda boleh membenamkan kod PHP ke dalam fail HTML, tetapi pastikan fail itu mempunyai lanjutan .php supaya pelayan dapat menghuraikannya dengan betul. Gunakan tag standard untuk membungkus kod PHP, masukkan kandungan dinamik di mana sahaja di HTML. Di samping itu, anda boleh menukar PHP dan HTML beberapa kali dalam fail yang sama untuk merealisasikan fungsi dinamik seperti rendering bersyarat. Pastikan anda memberi perhatian kepada konfigurasi pelayan dan ketepatan sintaks untuk mengelakkan masalah yang disebabkan oleh label pendek, kesilapan tanda petikan atau label akhir yang ditinggalkan.

Kunci untuk menulis kod PHP yang bersih dan mudah dijaga terletak pada penamaan yang jelas, berikutan piawaian, struktur yang munasabah, menggunakan komen dan kesesuaian yang baik. 1. Gunakan pembolehubah, fungsi dan nama kelas yang jelas, seperti $ userData dan calculateToTalPrice (); 2. Ikuti gaya kod bersatu piawai PSR-12; 3. Pecahkan struktur kod mengikut tanggungjawab, dan aturnya menggunakan katalog MVC atau Laravel; 4. Elakkan kod gaya mi dan memecah logik ke dalam fungsi kecil dengan satu tanggungjawab; 5. Tambah komen pada mata utama dan tulis dokumen antara muka untuk menjelaskan parameter, pulangan nilai dan pengecualian; 6. Meningkatkan kebolehlihatan, mengguna pakai suntikan pergantungan, mengurangkan kaedah keadaan global dan statik. Amalan ini meningkatkan kualiti kod, kecekapan kerjasama dan kemudahan pasca penyelenggaraan.

Ya, youpanrunsqlqueriesusingphp, danTheProcessinvolveschoosingadatabaseextension, connectingTothedatabase, executingqueriSafely, andclosingconnectionswhendone.todothis, firstChoosebetweBetbeSquLiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpdob
