javascript搜索自動(dòng)提示功能的實(shí)現(xiàn)第2/3頁(yè)
PHP后臺(tái)程序(rpc.php):
如你所知(譯注:不好意思,看王小波就學(xué)會(huì)了這么個(gè)口頭禪),我的php后臺(tái)程序都叫做rpc.php(RPC指遠(yuǎn)程過(guò)程調(diào)用),而沒(méi)用它實(shí)際執(zhí)行的功能來(lái)命名,但是也還不錯(cuò)了。
// PHP5 Implementation - uses MySQLi.
$db = new mysqli(‘localhost', ‘root' ,”, ‘a(chǎn)utoComplete');
if(!$db) {
// Show error if we cannot connect.
echo ‘ERROR: Could not connect to the database.';
} else {
// Is there a posted query string?
if(isset($_POST[‘queryString'])) {
$queryString = $_POST[‘queryString'];
// Is the string length greater than 0?
if(strlen($queryString) >0) {
// Run the query: We use LIKE ‘$queryString%'
// The percentage sign is a wild-card, in my example of countries it works like this…
// $queryString = ‘Uni';
// Returned data = ‘United States, United Kindom';
$query = $db->query("SELECT value FROM countries WHERE value LIKE ‘$queryString%' LIMIT 10");
if($query) {
// While there are results loop through them - fetching an Object (i like PHP5 btw!).
while ($result = $query ->fetch_object()) {
// Format the results, im using <li> for the list, you can change it.
// The onClick function fills the textbox with the result.
echo ‘<li onclick="fill('‘.$result->value.'‘);">'.$result->value.‘</li>';
}
} else {
echo ‘ERROR: There was a problem with the query.';
}
} else {
// Dont do anything.
} // There is a queryString.
} else {
echo ‘There should be no direct access to this script!';
}
}
?>
PHP代碼解釋?zhuān)?
鑒于代碼中我已經(jīng)加了很多注釋?zhuān)谶@里我就不再說(shuō)的很詳細(xì)了。
一般情況下,需要接收這個(gè) ‘QueryString' 然后在其最后使用通配符產(chǎn)生一個(gè)查詢(xún)語(yǔ)句。
這意味著在這種情況下,每次敲進(jìn)去一個(gè)字符都需要產(chǎn)生一個(gè)查詢(xún)語(yǔ)句,如果一直都這樣做的話(huà),恐怕MYSQL會(huì)受不了。但是為了盡量的簡(jiǎn)化這個(gè)過(guò)程,這種做法對(duì)一個(gè)規(guī)模較小的應(yīng)用應(yīng)該沒(méi)什么問(wèn)題。
這段php代碼你需要在自己的系統(tǒng)中稍作修改,比如你需要更新‘$query'到你自己的數(shù)據(jù)庫(kù),需要看在哪里放你數(shù)據(jù)庫(kù)表的列名等等。
CSS樣式:
我使用的是CSS3,天哪,它真的很好用,雖然在Firefox 或者Safari瀏覽器上會(huì)有功能限制。
<style type="text/css">
.suggestionsBox {
position: relative;
left: 30px;
margin: 10px 0px 0px 0px;
width: 200px;
background-color: #212427;
-moz-border-radius: 7px;
-webkit-border-radius: 7px;
border: 2px solid #000;
color: #fff;
}
.suggestionList {
margin: 0px;
padding: 0px;
}
.suggestionList li {
margin: 0px 0px 3px 0px;
padding: 3px;
cursor: pointer;
}
.suggestionList li:hover {
background-color: #659CD8;
}
</style>
CSS代碼都很標(biāo)準(zhǔn),沒(méi)什么需要特別指出的。
- JavaScript正則方法replace實(shí)現(xiàn)搜索關(guān)鍵字高亮顯示
- JavaScript實(shí)現(xiàn)的搜索及高亮顯示功能示例
- Angularjs實(shí)現(xiàn)搜索關(guān)鍵字高亮顯示效果
- 用JS將搜索的關(guān)鍵字高亮顯示實(shí)現(xiàn)代碼
- JS仿百度搜索自動(dòng)提示框匹配查詢(xún)功能
- js實(shí)現(xiàn)搜索框關(guān)鍵字智能匹配代碼
- JS實(shí)現(xiàn)表格數(shù)據(jù)各種搜索功能的方法
- 可以用來(lái)搜索當(dāng)前頁(yè)面內(nèi)容的js代碼
- javascript 關(guān)鍵字高亮顯示實(shí)現(xiàn)代碼
- JS實(shí)現(xiàn)靜態(tài)頁(yè)面搜索并高亮顯示功能完整示例
相關(guān)文章
基于BootStrap實(shí)現(xiàn)簡(jiǎn)潔注冊(cè)界面
這篇文章主要介紹了基于BootStrap實(shí)現(xiàn)簡(jiǎn)潔注冊(cè)界面,需要的朋友可以參考下2017-07-07
Vue3基于countUp.js實(shí)現(xiàn)數(shù)字滾動(dòng)的插件
本文主要介紹了Vue3基于countUp.js實(shí)現(xiàn)數(shù)字滾動(dòng)的插件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04
js實(shí)現(xiàn)簡(jiǎn)潔的滑動(dòng)門(mén)菜單(選項(xiàng)卡)效果代碼
這篇文章主要介紹了js實(shí)現(xiàn)簡(jiǎn)潔的滑動(dòng)門(mén)菜單(選項(xiàng)卡)效果代碼,涉及javascript鼠標(biāo)事件操作頁(yè)面元素樣式切換的實(shí)現(xiàn)技巧,簡(jiǎn)單實(shí)用,需要的朋友可以參考下2015-09-09
JS實(shí)現(xiàn)統(tǒng)計(jì)字符串中字符出現(xiàn)個(gè)數(shù)及最大個(gè)數(shù)功能示例
這篇文章主要介紹了JS實(shí)現(xiàn)統(tǒng)計(jì)字符串中字符出現(xiàn)個(gè)數(shù)及最大個(gè)數(shù)功能,結(jié)合實(shí)例形式分析了javascript字符串遍歷、統(tǒng)計(jì)相關(guān)操作技巧,需要的朋友可以參考下2018-06-06
JS實(shí)現(xiàn)圖片高亮展示效果實(shí)例
這篇文章主要介紹了JS實(shí)現(xiàn)圖片高亮展示效果的方法,實(shí)例分析了JavaScript響應(yīng)鼠標(biāo)事件動(dòng)態(tài)操作頁(yè)面元素樣式的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11
textarea不能通過(guò)maxlength屬性來(lái)限制字?jǐn)?shù)的解決方法
textarea稱(chēng)文本域,又稱(chēng)文本區(qū),其不能通過(guò)maxlength屬性來(lái)限制字?jǐn)?shù),為此必須尋求其他方法來(lái)加以限制以達(dá)到預(yù)設(shè)的需求2014-09-09
encode腳本和normal腳本混用的問(wèn)題與解決方法
encode腳本和normal腳本混用的問(wèn)題與解決方法...2007-03-03

