2016-10-22 69 views
0

我會很感激這一個 我使用jQuery自動完成,我想當搜索完成後,打開一個網址,你的幫助。 我的問題是,我不知道如何將網址列字段從MySQL數據庫傳遞給自動完成jQuery的自動完成打開網址從SQL表

這裏是我有什麼

$(function() { 
$("#skills").autocomplete({ 
    source: 'search.php', 
    autoFocus: true, 
    select: function(event, ui) { 
    var url = ui.item.id; 
    if(url != '#') { 
    location.replace =url; 
    } 
    }, 
}); 

我的PHP文件

$dbHost = 'xxxxxx'; 
$dbUsername = 'xxxxxx'; 
$dbPassword = 'xxxxxx'; 
$dbName = 'xxxxxx'; 

//connect with the database 
$db = new mysqli($dbHost,$dbUsername,$dbPassword,$dbName); 

//get search term 
$searchTerm = $_GET['term']; 

//get matched data from enlaces table 
$query = $db->query("SELECT titulo, url FROM enlaces WHERE titulo LIKE '%".$searchTerm."%' ORDER BY titulo ASC"); 
while ($row = $query->fetch_assoc()) { 
    $data[] = $row['titulo']; 
    $url[] = $row['url']; 

} 

//return json data 
echo json_encode($data,$url); 

三江源非常非常!

+0

仔細檢查json_encode函數的用法:http://php.net/json_encode – Dekel

回答

0

好吧,我找到了答案

PHP來從數據庫和編碼讀取數據以JSON

$display_json = array(); 
$json_arr = array(); 


$user_input = $_GET['term']; 

$query = $db->query('SELECT title, url, cat FROM datakeys WHERE title LIKE "%'.$user_input.'%"'); 

while ($row = $query->fetch_assoc()) { 
    $json_arr["id"] = $row['url']; 
    $json_arr["value"] = $row['title']; 
    $json_arr["label"] = $row['title']; 
    $json_arr["category"] = $row['cat']; 
    array_push($display_json, $json_arr); 
} 

echo json_encode($display_json); //encode that search data 

JS

$("#autocomplete").autocomplete({ 
    source: "search.php", 
    autoFocus: true, 
    select: function(event, ui) { 
    var getUrl = ui.item.id; 
    if(getUrl != '#') { 
    window.open(getUrl); 
    } 
    }, 

    html: true, 

    open: function(event, ui) { 
    $(".ui-autocomplete").css("z-index", 1000); 
    } 
}); 

希望它可以幫助別人的小白和我一樣:)