PHP實現類似百度搜索自動完成(代碼簡單)

一、效果圖:

?

?

二、HTML代碼

<html lang="en">
<head><meta charset="utf-8"><title>jQuery UI 自動完成(Autocomplete) - 默認功能</title><link rel="stylesheet" href="/public/AutoCom/jquery-ui.css"><script src="/public/AutoCom/jquery-1.91.js"></script><script src="/public/AutoCom/jquery-ui.js"></script><script>$(function() {$( "#tags" ).autocomplete({// source: availableTagssource: "at.php"});});</script>
</head>
<body><div class="ui-widget"><label for="tags">標簽:</label><input id="tags" name="tags" >
</div></body>
</html>

?

?

三、PHP代碼

<?php
function test($keyword) 
{//連接數據庫$dsn = "mysql:dbname=test;host=localhost;";$db = new PDO($dsn, 'root', 'root');//查詢數據$result = $db->prepare("select title from article where title like :title");$result->execute(array('title' => "%" . $keyword . "%"));$data = $result->fetchall(PDO::FETCH_ASSOC);//將二維數組轉化為一維數組(自動補全插件要求的是一個一維數組)foreach ($data as $k => $v) {$datas[] = $v['title'];}return $datas;
}//獲取輸入框的內容
//注:jquery-ui的自動補全ajax 當我們輸入一個c時,Autocomplete實際發送的請求路徑為at.php?term=c
$keyword = $_GET['term'];//根據用戶輸入值查詢相關數據
$data = test($keyword);
//輸出json字符串
echo json_encode($data); //輸出查詢的結果(json格式輸出)?>

?

備注:HTML部分引入的css,js源代碼:

<!-- 引入jQuery UI的css文件 -->
<link href="http://code.jquery.com/ui/1.10.4/themes/ui-darkness/jquery-ui.css" />
<!-- 引入jQuery的js文件 -->
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js" ></script>
<!-- 引入jQuery UI的js文件 -->
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.4/jquery-ui.js" ></script>

文章參考:http://www.365mini.com/page/jquery-ui-autocomplete.htm

更多功能可參考:?http://www.runoob.com/jqueryui/example-autocomplete.html

如果js和css源代碼地址找不到,到這里下載

?

總結:以上是結合mysql 和 jquery-ui實現的自動提示,實際上如果數據庫數據量較大的情況,整體對數據庫開銷也比較大。

這樣,也可以嘗試使用全文檢索工具 xunsearch 或 sphinx 來實現。好處是減少了mysql數據庫的查詢壓力,提高了檢索速度。

xunSearch的使用:https://blog.csdn.net/m_nanle_xiaobudiu/article/details/81663636

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/282554.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/282554.shtml
英文地址,請注明出處:http://en.pswp.cn/news/282554.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Mysql讀寫分離php腳本

<?php/*php如何連接mysql*/ /*$link mysql_connect(‘localhost‘, ‘root‘, ‘‘);if (!$link) {die(‘Could not connect: ‘ . mysql_error());}echo ‘Connected successfully‘;mysql_close($link);*/ /*php如何選擇數據庫*//*$link mysql_connect(‘localhost‘, …

CentOS 搭建Postfix+Dovecot簡單郵件系統

2019獨角獸企業重金招聘Python工程師標準>>> 服務器信息 系統&#xff1a;CentOS 6.5 minimal版本 主機&#xff1a;虛擬機 虛擬機IP&#xff1a;192.168.128.128/24 宿主IP:10.1.79.24/24 安裝postfix 注意&#xff1a;CentOS 7實際上已經用postfixSasl2代替sendma…

Js獲取當前頁面URL各種參數

JS獲取當前頁面URL各種參數 一&#xff1a;Location Location 對象包含有關當前 URL 的信息。 Location 對象是 Window 對象的一個部分&#xff0c;可通過 window.location 屬性來訪問。 hash設置或返回從井號 (#) 開始的 URL&#xff08;錨&#xff09;。host設置或返回主機名…

php面試題2018

一 、PHP基礎部分 1、PHP語言的一大優勢是跨平臺&#xff0c;什么是跨平臺&#xff1f; PHP的運行環境最優搭配為ApacheMySQLPHP&#xff0c;此運行環境可以在不同操作系統&#xff08;例如windows、Linux等&#xff09;上配置&#xff0c;不受操作系統的限制&#xff0c;所以…

學生黨的專屬定制福利,你想要的這里全都有!

同學們&#xff1a;您好&#xff01;很?興認識?家&#xff01;我是微軟的 Regional Cloud Advocate Kinfey Lo&#xff0c;感謝您在課余時間打開這封信。踏??秋&#xff0c;技術峰會進?了旺季&#xff0c;有?向商業的&#xff0c;有?向開發者的&#xff0c;有?向技術社…

Quartus prime16.0 與modelsim ae 聯調

前言 quartus和modelsim聯調對仿真還是很方便的&#xff0c;當然最好是quartus干綜合到燒錄的活&#xff0c;modelsim單獨仿真。而且ae版的性能比se版差。 流程&#xff1a; 1.配置modelsim ae路徑&#xff1a; 我這里是這個路徑&#xff0c;根據你自己安裝的地方配置路徑。 2.…

30分鐘搞定后臺登錄界面(103個后臺PSD源文件、素材網站)

去年八月時要做一個OA系統為了后臺界面而煩惱&#xff0c;后來寫了一篇博客&#xff08;《后臺管理UI的選擇》&#xff09;介紹了選擇過程與常用后臺UI&#xff0c;令我想不到的時竟然有許多開發者與我一樣都為這個事情而花費不少時間&#xff0c;最后界面效果還是不佳&#xf…

分析拼多多的崛起【產品思維】

最近朋友圈討論拼多多上市的新聞大火&#xff0c;各有各的看法&#xff0c;很有意思&#xff0c;突然想起前段時間得到上的《梁寧-產品思維30講》&#xff0c;所以想從數據和產品角度分析分析拼多多的崛起。 一&#xff1a;拼多多的迅速崛起 我們先看看拼多多這幾年的成長歷程&…

62、滑動窗口的最大值

一、題目 給定一個數組和滑動窗口的大小&#xff0c;找出所有滑動窗口里數值的最大值。例如&#xff0c;如果輸入數組{2,3,4,2,6,2,5,1}及滑動窗口的大小3&#xff0c;那么一共存在6個滑動窗口&#xff0c;他們的最大值分別為{4,4,6,6,6,5}&#xff1b; 針對數組{2,3,4,2,6,2,5…

KestrelServer詳解[2]: 網絡連接是如何創建的?

《KestrelServer詳解[1]&#xff1a;注冊監聽終結點&#xff08;Endpoint&#xff09;》已經詳細講述了如何使用KestrelServer&#xff0c;現在我們來簡單聊聊這種服務器的總體設計和實現原理。當KestrelServer啟動的時候&#xff0c;注冊的每個終結點將轉換成對應的“連接監聽…

PHP操作文件和目錄的相關函數

//判斷文件類型 filetype(a.php);//打開或創建文件 fopen(a.php,w);//讀取文件 fgets(a.php);//按行讀取 fread(a.php,1049);//按塊讀取 file_get_contents(a.php);//讀取文件//復制文件 copy(a.php,./b.php);//將a.php復制到b.php//刪除文件 unlink(b.php);//移動文件 rename(…

linux LyX中文編輯環境安裝配置指南-TeX可視化工具

TeX可以說是國際上排版的標準&#xff0c;尤其是論文、書籍之類&#xff0c;對公式的表現比MS辦公系列強的太多&#xff0c;格式異常優美&#xff0c;但是由于其比較復雜的命令&#xff0c;非可視化編輯&#xff0c;所以使得入門門檻較高&#xff0c;所以出現了LaTeX這樣的命令…

pandas DataFrame 數據處理常用操作

Xgboost調參&#xff1a; https://wuhuhu800.github.io/2018/02/28/XGboost_param_share/ https://blog.csdn.net/hx2017/article/details/78064362 pandas DataFrame中的空值處理&#xff1a; https://blog.csdn.net/yuanxiang01/article/details/78738812 pandas的DataFrame、…

redis集群報Jedis does not support password protected Redis Cluster configurations異常解決辦法...

解決spring-data-redis操作redis集群報“Jedis does not support password protected Redis Cluster configurations”的異常 原因&#xff1a;使用spring-data-redis操作redis集群時由于redis集群設置了密碼。 解決方案&#xff1a;升級spring-data-redis版本即可解決&#xf…

支付寶支付開發流程

支付寶開發流程1、首先我們先談談第三方支付所謂第三方支付就是和一些各大銀行簽約&#xff0c;并具備一定實力和信譽保障的第三方獨立機構提供的交易平臺目前市面上常見的有支付寶&#xff0c;財付通&#xff0c;網銀&#xff0c;易寶支付等&#xff0c;網站需要實現第三方支付…

MQ消息隊列之MSMQ

主要參考文章&#xff1a; 消息隊列&#xff08;Message Queue&#xff09;簡介及其使用 轉載于:https://www.cnblogs.com/mailaidedt/p/6599130.html

css選擇器總結

一.選擇器 1. css1選擇器 2.css2選擇器 3.css3選擇器 4.:nth-of-type(n)和:nth-child(n)區別 (1).在不指定類型時&#xff0c;nth-child(n)選中的是父元素下的第N個子元素。nth-of-type(n)選中的是父元素下的不同類型標簽的第N個。(2).在指定具體元素時,ele:nth-child(n)要求不…

Hypercrx:開源項目不只有Star

01戰隊簡介大家好&#xff0c;我們是Hypercrx戰隊&#xff0c;非常榮幸獲得了首屆Microsoft Edge瀏覽器開拓者大賽的一等獎&#xff01;我是隊長唐燁男&#xff08;中&#xff09;&#xff0c;位于我左側的是寧志成&#xff0c;右側的是林以任&#xff0c;我們都來自華東師范大…

《Python編程快速上手 讓繁瑣工作自動化》pdf

<div id"article_content" class"article_content tracking-ad" data-mod"popu_307" data-dsm"post"> <p><br></p><p>下載地址&#xff1a;<a target"_blank" href"https://page74.c…

PHP上傳圖片到數據庫,并進行顯示

1、創建數據表 CREATE TABLE ccs_image (id int(4) unsigned NOT NULL auto_increment,description varchar(250) default NULL,bin_data longblob,filename varchar(50) default NULL,filesize varchar(50) default NULL,filetype varchar(50) default NULL,PRIMARY KEY (id)…