【问题标题】:Jquery Autocomplete Open Url from SQL table来自 SQL 表的 Jquery 自动完成打开 URL
【发布时间】:2016-10-22 03:31:18
【问题描述】:

非常感谢您对此提供的帮助 我正在使用 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);

非常感谢!

【问题讨论】:

标签: php jquery


【解决方案1】:

好的,我找到了答案

php 从 db 中获取数据并编码为 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);
    }
});

希望它能帮助像我这样的菜鸟:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-04
    • 1970-01-01
    • 1970-01-01
    • 2016-12-14
    • 2020-09-27
    • 2014-06-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多