[PHP]關鍵字建議列表

[PHP]關鍵字建議列表

小黑-avatar-img
發佈於後端
更新於 發佈於 閱讀時間約 4 分鐘

在欄位輸入關鍵字,就會顯示提示列表。

架構

由HTML表單、jQuery的AJAX和PHP與MySQL組成。

先在HTML的文字輸入欄位,輸入關鍵字,接著會呼叫jQuery的AJAX去伺服器,取得建議列表;伺服器收到需求後,PHP會連接MySQL,取得建議列表,接著會建立JSON文件並回傳。


HTML

文字輸入欄位與關鍵字列表

<input type="TEXT" id="txtSearch" name="txtSearch" autocomplete="off"/>
<input type="SUBMIT" value="搜尋"/><br/>
<div id="result"></div>


jQuery的AJAX請求

//註冊​keyup事件
$("#txtSearch").bind('keyup', function() {
// 取得表單欄位值
var value = $('#txtSearch').val();
// 使用HTTP GET方法送出Ajax請求
$.ajax({
type: 'GET',
url: 'getSuggest.php',
data: { search : value },
success: function(data) {
// 顯示傳回的資料
var result = document.getElementById("result");
result.innerHTML = "";
// 顯示所有JSON陣列的關鍵字清單
$.each(data, function (key, val) {
//資料處理
});
}
});
return false;
});


PHP連接MySQL

// 建立資料庫連接
$link=mysqli_connect("localhost","root","12345678","testsql");
$arr = array();
// 檢查是否有輸入查詢字串
if ( isset($_GET["search"]) && $_GET["search"] != '' ) {
// 處理特殊字元
$search = addslashes($_GET["search"]);
// 建立SQL指令字串
$sql = "SELECT distinct(title) " . "FROM suggest WHERE title LIKE('" . $search . "%') ORDER BY title";
// 執行SQL查詢
$result = mysqli_query($link, $sql);
// 取得記錄資料
while ( $row = mysqli_fetch_row($result) ) {
// 取得欄位值
array_push($arr, $row[0]);
}
}
echo json_encode($arr,JSON_UNESCAPED_UNICODE);//json編碼
mysqli_close($link); // 關閉資料庫連接






avatar-img
小黑與程式的邂逅
8會員
123內容數
嗨,我是一名程式設計師,會在這分享開發與學習紀錄。
留言
avatar-img
留言分享你的想法!
小黑與程式的邂逅 的其他內容
REST(REpresentational State Transfer)是一種WWW的Web架構,常被使用於JSON或XML的Web服務,而符合REST原則的系統就稱為RESTful。REST API(RESTful API)是一種符合REST的API應用。 方法說明 GET:向伺服器取得
JSON(JavaScript Object Notation)是AJAX(參考:[PHP][AJAX]介紹)常用的資料交換格式。在PHP有提供函數,可以將資料轉換成JSON。除外JSON比XML快速且簡單。 語法 資料是由鍵和值(Key-value)組成。 鍵和值之間用「:」區隔。 資料之
AJAX(Asynchronous JavaScript And XML)為JavaScript和XML的非同步技術,可以讓瀏覽器建立快速、更加和容易使用的操作介面。AJAX核心技術是非同步的HTTP請求(Asynchronous HTTP Requests),除了第一次載入網頁外,HTTP請求是在
REST(REpresentational State Transfer)是一種WWW的Web架構,常被使用於JSON或XML的Web服務,而符合REST原則的系統就稱為RESTful。REST API(RESTful API)是一種符合REST的API應用。 方法說明 GET:向伺服器取得
JSON(JavaScript Object Notation)是AJAX(參考:[PHP][AJAX]介紹)常用的資料交換格式。在PHP有提供函數,可以將資料轉換成JSON。除外JSON比XML快速且簡單。 語法 資料是由鍵和值(Key-value)組成。 鍵和值之間用「:」區隔。 資料之
AJAX(Asynchronous JavaScript And XML)為JavaScript和XML的非同步技術,可以讓瀏覽器建立快速、更加和容易使用的操作介面。AJAX核心技術是非同步的HTTP請求(Asynchronous HTTP Requests),除了第一次載入網頁外,HTTP請求是在