php+ajax實(shí)時(shí)輸入自動(dòng)搜索匹配的方法,ajax自動(dòng)搜索
本文實(shí)例講述了php+ajax實(shí)輸入自動(dòng)搜索匹配的方法分享給大家供大家參考。具體分析如下:
第一種方法利用了jquery autocomplete,第二種使用了jquery ajax,其實(shí)兩個(gè)都差不多.
最簡(jiǎn)單的辦法我們就是直接使用jquery autocomplete方法了,如下在實(shí)例.
html中,代碼如下:
<script src="/js/v2/jquery.input_complete.js" type="text/javascript" ></script> <link rel="stylesheet" href="/css/v2/jquery.input_complete.css" type="text/css" /> <script type="text/javascript"> $(function(){ $("#abcc").bigAutocomplete({width:176,data:[{title:"九龍倉(cāng)世紀(jì)華府",result:"5976898"}, {title:"九龍倉(cāng)君璽",result:"5976896"}, {title:"舟山朱家尖東沙度假村",result:"5976895"}, {title:"廣廈天都城爵士花園",result:"5976893"}, {title:"綠城玉園",result:"5976892"}, {title:"江南銘樓",result:"5976890"}, {title:"世茂江濱花園",result:"14869"}], callback:function(data){ $("#s_loupan").val(data.result); }}); }) </script> <input type="text" id="abcc" class="sel_quy" autocomplete="off" />
本文目的是讓 某個(gè)標(biāo)題 帶有 The 的不按字母t首字母搜索,而是按照第二個(gè)文字的首字母搜索.
比如 The Orbolg,按T的時(shí)候不顯示,按O的時(shí)候才顯示,下面是實(shí)現(xiàn)代碼,我自己都暈暈的,測(cè)試是沒(méi)有問(wèn)題,代碼如下:
public function gwquery(){ if($_POST){ $zm = $_POST['data']; $wzm = $zm."%"; $b = M('Wpindexgw'); if($zm!="t"){//獲取的首字母不是t的時(shí)候 $list1 = $b->where("gwstatus=1 and gwname like '%$zm%'")->order("time desc")->select();//查詢 $narr =array(); foreach( $list1 as $key => $val){ $ct2 = explode(" ",$val['gwname']);//獲取標(biāo)題拆分成數(shù)組。 $szm=strtolower(substr($ct2[1],0,1)); //獲取首字母 并且小寫 if($ct2[0]=="The" && $szm==$zm){//如果第一個(gè)字符是The 并且第二個(gè)字母首字母和提交的相同,這里The 區(qū)分大小寫。 $narr[] = $val; //寫入數(shù)組 } } }else{ //處理首字母是T的時(shí)候 ,不希望第一個(gè)字?jǐn)?shù)The 的顯示在列表里。 $list1 = $b->where("gwstatus=1 and gwname like '$wzm'")->order("time desc")->select(); foreach( $list1 as $key => $val){ $ct2 = explode(" ",$val['gwname']); if($ct2[0]=="The"){ $unnarr[] = $key;//獲取符合條件的,要去掉的內(nèi)容的數(shù)組標(biāo)號(hào)。 } } } $list = $b->where("gwstatus=1 and gwname like '$wzm'")->order("time desc")->select();//正常的查詢。 if($zm=="t"){//處理當(dāng)首字母是t的時(shí)候 ,去掉上面查詢得到的內(nèi)容,也就是如果是The的時(shí)候 按T 不顯示。 foreach($unnarr as $uval){ unset($list[$uval]); } }else{//按下的不是t的時(shí)候,要把第二個(gè)首字母符合的內(nèi)容添加到正常查詢的數(shù)組中。 if(!emptyempty($narr) && !emptyempty($list)){//帶The 的符合條件正常 本身也不空的時(shí)候。 $list = array_merge($narr,$list);//合并數(shù)組。 }else if(emptyempty($list)){//正常查詢?yōu)榭?。則看是否有帶The開頭的,有則合并 $list=array(); $list = array_merge($narr,$list); } } if($list){ $this->ajaxReturn($list,'success',1); }else{ $this->error("Bestiary not found."); } } }
相比之前的代碼,相差太多,代碼如下:
public function gwquery1(){//之前備份。。 if($_POST){ $zm = $_POST['data']; $wzm = $zm."%"; $b = M('Wpindexgw'); $list = $b->where("gwstatus=1 and gwname like '$wzm'")->order("time desc")->select(); //dump($list); if($list){ $this->ajaxReturn($list,'success',1); }else{ $this->error("Bestiary not found."); } } }
以上就是php+ajax實(shí)時(shí)輸入自動(dòng)搜索匹配的方法,ajax自動(dòng)搜索的內(nèi)容,更多相關(guān)內(nèi)容請(qǐng)關(guān)注PHP中文網(wǎng)(www.miracleart.cn)!

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

To merge two PHP arrays and keep unique values, there are two main methods. 1. For index arrays or only deduplication, use array_merge and array_unique combinations: first merge array_merge($array1,$array2) and then use array_unique() to deduplicate them to finally get a new array containing all unique values; 2. For associative arrays and want to retain key-value pairs in the first array, use the operator: $result=$array1 $array2, which will ensure that the keys in the first array will not be overwritten by the second array. These two methods are applicable to different scenarios, depending on whether the key name is retained or only the focus is on

exit() is a function in PHP that is used to terminate script execution immediately. Common uses include: 1. Terminate the script in advance when an exception is detected, such as the file does not exist or verification fails; 2. Output intermediate results during debugging and stop execution; 3. Call exit() after redirecting in conjunction with header() to prevent subsequent code execution; In addition, exit() can accept string parameters as output content or integers as status code, and its alias is die().

The rational use of semantic tags in HTML can improve page structure clarity, accessibility and SEO effects. 1. Used for independent content blocks, such as blog posts or comments, it must be self-contained; 2. Used for classification related content, usually including titles, and is suitable for different modules of the page; 3. Used for auxiliary information related to the main content but not core, such as sidebar recommendations or author profiles. In actual development, labels should be combined and other, avoid excessive nesting, keep the structure simple, and verify the rationality of the structure through developer tools.

When you encounter the prompt "This operation requires escalation of permissions", it means that you need administrator permissions to continue. Solutions include: 1. Right-click the "Run as Administrator" program or set the shortcut to always run as an administrator; 2. Check whether the current account is an administrator account, if not, switch or request administrator assistance; 3. Use administrator permissions to open a command prompt or PowerShell to execute relevant commands; 4. Bypass the restrictions by obtaining file ownership or modifying the registry when necessary, but such operations need to be cautious and fully understand the risks. Confirm permission identity and try the above methods usually solve the problem.

There are two ways to create an array in PHP: use the array() function or use brackets []. 1. Using the array() function is a traditional way, with good compatibility. Define index arrays such as $fruits=array("apple","banana","orange"), and associative arrays such as $user=array("name"=>"John","age"=>25); 2. Using [] is a simpler way to support since PHP5.4, such as $color

The way to process raw POST data in PHP is to use $rawData=file_get_contents('php://input'), which is suitable for receiving JSON, XML, or other custom format data. 1.php://input is a read-only stream, which is only valid in POST requests; 2. Common problems include server configuration or middleware reading input streams, which makes it impossible to obtain data; 3. Application scenarios include receiving front-end fetch requests, third-party service callbacks, and building RESTfulAPIs; 4. The difference from $_POST is that $_POST automatically parses standard form data, while the original data is suitable for non-standard formats and allows manual parsing; 5. Ordinary HTM

To safely handle PHP file uploads, you need to verify the source and type, control the file name and path, set server restrictions, and process media files twice. 1. Verify the upload source to prevent CSRF through token and detect the real MIME type through finfo_file using whitelist control; 2. Rename the file to a random string and determine the extension to store it in a non-Web directory according to the detection type; 3. PHP configuration limits the upload size and temporary directory Nginx/Apache prohibits access to the upload directory; 4. The GD library resaves the pictures to clear potential malicious data.

InPHP,variablesarepassedbyvaluebydefault,meaningfunctionsorassignmentsreceiveacopyofthedata,whilepassingbyreferenceallowsmodificationstoaffecttheoriginalvariable.1.Whenpassingbyvalue,changestothecopydonotimpacttheoriginal,asshownwhenassigning$b=$aorp
