Jquery自动完成从SQL表打开Url

  • 本文关键字:Url SQL Jquery php jquery
  • 更新时间 :
  • 英文 :


非常感谢您的帮助我使用Jquery自动完成,我想打开一个url时,搜索完成。我的问题是,我不知道如何通过url列字段从mysql数据库自动完成

这是我的

$(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);

非常非常感谢!

Ok i Found the answer

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);
    }
});

希望它能帮助像我这样的新手:)

最新更新