使用DB2从autocomplete jquery UI返回的未定义值

时间:2016-11-11 22:58:56

标签: php jquery-ui db2 jquery-ui-autocomplete

我有以下代码,就像使用mysql的魅力一样,但是当使用DB2实现时,它返回值" undefined"应该是实际值。

consult.php

require_once("connect_db.php");

$action = (isset($_GET['action'])) ? $_GET['action'] : '';
$param = (isset($_GET['parameter'])) ? $_GET['parameter'] : '';

if($action == 'autocomplete'):
    $where = (!empty($parameter)) ? "WHERE name LIKE '%{$parameter}%'" : "";
    $sql = "SELECT LOWER(name) FROM categories " . $where;

    $stmt = db2_prepare($connection, $sql);

        db2_execute($stmt);
        $data = db2_fetch_object($stmt);

    $json = json_encode($data);
    echo $json;
endif;

categories.js

$(function() {

$( "#category" ).autocomplete({
        minLength: 1,
        source: function( request, response ) {
            $.ajax({
                url: "consult.php",
                dataType: "json",
                data: {
                        action: 'autocomplete',
                    parameter: $('#category').val()
                },
                success: function(data) {
                   response(data);
                }

            });
        },

})
.autocomplete( "instance" )._renderItem = function( p, item ) {
  return $( "<p>" )
    .append( "<a><b>" + item.name + "</b></a>" )
    .appendTo( p );
};

});

1 个答案:

答案 0 :(得分:0)

我的代码出错了。我忘记了获取如下所有数据:

    $stmt = db2_prepare($connection, $sql);

        db2_execute($stmt);

    while($row = db2_fetch_assoc($stmt)) {
            $data[] = array(
            'name' => $row['NAME']
            );
    } 

现在工作正常