PHP and Ajax: Building an autocomplete suggestion engine
Jun 02, 2024 pm 08:39 PMBuild an autocomplete suggestion engine using PHP and Ajax: Server-side script: Handles Ajax requests and returns suggestions (autocomplete.php). Client script: Send Ajax requests and display suggestions (autocomplete.js). Practical example: Include a script in an HTML page and specify the search-input element identifier.
PHP and Ajax: Building an Autocomplete Suggestion Engine
Introduction
The autocomplete suggestion engine is a useful tool that helps users find suggestions in input fields. It is commonly used in search fields, address fields, and other text input areas. This article will guide you through building an autocomplete suggestion engine using PHP and Ajax.
Server Side Script
First, we need a PHP script to handle the Ajax request and return suggestions. Create a file called autocomplete.php
and add the following code:
<?php // 獲取查詢字符串 $query = $_GET['query']; // 連接到數(shù)據(jù)庫 $conn = new mysqli("localhost", "my_user", "my_password", "my_db"); // 準備 SQL 查詢 $stmt = $conn->prepare("SELECT suggestion FROM suggestions WHERE suggestion LIKE ?"); // 綁定查詢參數(shù) $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; ?>
Client script
Next, we need a client Script to send Ajax requests and display suggestions. Create a file called autocomplete.js
and add the following code:
// 獲取搜索輸入元素 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); // 顯示建議 // ... (由你實現(xiàn)) }; xhr.send(); } });
practical case
In order to use the autocomplete suggestion engine, you can Include the above script file in an HTML page and add an identifier for the search-input
element. In the autocomplete.php
script, you need to change the database connection parameters to match your database settings.
Run Engine
Upload the autocomplete.php
and autocomplete.js
files to your server. Visit an HTML page containing the search-input
element and start entering a query string. You should see suggestions that match your query.
The above is the detailed content of PHP and Ajax: Building an autocomplete suggestion engine. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

TostaycurrentwithPHPdevelopmentsandbestpractices,followkeynewssourceslikePHP.netandPHPWeekly,engagewithcommunitiesonforumsandconferences,keeptoolingupdatedandgraduallyadoptnewfeatures,andreadorcontributetoopensourceprojects.First,followreliablesource

PHPbecamepopularforwebdevelopmentduetoitseaseoflearning,seamlessintegrationwithHTML,widespreadhostingsupport,andalargeecosystemincludingframeworkslikeLaravelandCMSplatformslikeWordPress.Itexcelsinhandlingformsubmissions,managingusersessions,interacti

TosettherighttimezoneinPHP,usedate_default_timezone_set()functionatthestartofyourscriptwithavalididentifiersuchas'America/New_York'.1.Usedate_default_timezone_set()beforeanydate/timefunctions.2.Alternatively,configurethephp.inifilebysettingdate.timez

TovalidateuserinputinPHP,usebuilt-invalidationfunctionslikefilter_var()andfilter_input(),applyregularexpressionsforcustomformatssuchasusernamesorphonenumbers,checkdatatypesfornumericvalueslikeageorprice,setlengthlimitsandtrimwhitespacetopreventlayout

ThePhpfunctionSerialize () andunserialize () AreusedtoconvertcomplexdaTastructdestoresintostoraSandaBackagain.1.Serialize () c OnvertsdatalikecarraysorobjectsraystringcontainingTypeandstructureinformation.2.unserialize () Reconstruct theoriginalatataprom

You can embed PHP code into HTML files, but make sure that the file has an extension of .php so that the server can parse it correctly. Use standard tags to wrap PHP code, insert dynamic content anywhere in HTML. In addition, you can switch PHP and HTML multiple times in the same file to realize dynamic functions such as conditional rendering. Be sure to pay attention to the server configuration and syntax correctness to avoid problems caused by short labels, quotation mark errors or omitted end labels.

The key to writing clean and easy-to-maintain PHP code lies in clear naming, following standards, reasonable structure, making good use of comments and testability. 1. Use clear variables, functions and class names, such as $userData and calculateTotalPrice(); 2. Follow the PSR-12 standard unified code style; 3. Split the code structure according to responsibilities, and organize it using MVC or Laravel-style catalogs; 4. Avoid noodles-style code and split the logic into small functions with a single responsibility; 5. Add comments at key points and write interface documents to clarify parameters, return values ??and exceptions; 6. Improve testability, adopt dependency injection, reduce global state and static methods. These practices improve code quality, collaboration efficiency and post-maintenance ease.

Yes,youcanrunSQLqueriesusingPHP,andtheprocessinvolveschoosingadatabaseextension,connectingtothedatabase,executingqueriessafely,andclosingconnectionswhendone.Todothis,firstchoosebetweenMySQLiorPDO,withPDObeingmoreflexibleduetosupportingmultipledatabas
