如何在php中从sql创建自动完成

时间:2017-09-28 15:28:50

标签: php html mysql database autocomplete

首先对不起我的英语我有这个代码来输入数据并在用户类型时显示在列表中 但我的数据是在PHP的phpmyadmin im sql数据库中 我想从php中的sql创建自动完成,但我不知道谷歌中有多少例子,但是没有一个是针对utf-8字符集的 在我的数据库中有utf-8字,所以我不能这样做

这对我有用但没有sql

(function( $ ) {
var proto = $.ui.autocomplete.prototype,
initSource = proto._initSource;

function filter( array, term ) {
var matcher = new RegExp( $.ui.autocomplete.escapeRegex(term), "i" );
return $.grep( array, function(value) {
    return matcher.test( $( "<div>" ).html( value.label || value.value ||         
value ).text() );
});
}

$.extend( proto, {
_initSource: function() {
    if ( this.options.html && $.isArray(this.options.source) ) {
        this.source = function( request, response ) {
            response( filter( this.options.source, request.term ) );
        };
    } else {
        initSource.call( this );
    }
},

_renderItem: function( ul, item) {
    return $( "<li></li>" )
        .data( "item.autocomplete", item )
        .append( $( "<a></a>" )[ this.options.html ? "html" : "text" ](         
item.label ) )
        .appendTo( ul );
}
});
})( jQuery );

$(function() {
    var availableTags = [
        { label: 'سیب', value:'سیب' }, //<===utf-8
        { label: '2سیب', value:'سیب2' },//<===utf-8
        { label: 'Apple3', value:'Apple3' }             
    ];
    $( "#tags" ).autocomplete({
        source: availableTags,
        html: 'html'
    });
});

我在这里得到了代码表: http://jsfiddle.net/eay3d/1/

1 个答案:

答案 0 :(得分:1)

您可以使用PHP填写JQuery数组。如果不知道有关该表的更多信息,我无法为您提供完整/可用的代码,但它看起来像这样:

var availableTags = [
<?php
$queryString = "SELECT * FROM `table`"; // I don't know what your table is called
$query = mysqli_query($conn, $queryString) or die('Unable to execute query. ' . mysqli_error($conn));
while ($row = mysqli_fetch_array($query)){
echo "{ label: '" . $row['dataLable'] . "', value:'" . $row['dataValue'] . "' },"; // I don't know what your fields are called
}
?>           
];

此示例还需要正确设置数据库连接。您可以在W3Schools上阅读相关内容:Open a Connection to MySQL