当使用function.php填充一个输入时,如何使用ajax获取mysql数据

时间:2013-02-28 04:28:13

标签: php javascript ajax

mysql表


| order_no | order_name | | -------- | ------------ | | 43423 | abc | ??????????????????????????

现在我的问题是当我订购号码时如何使用ajax获取订单名称和城市?任何帮助表示赞赏..

我的代码在这里:

ValidateForm.js

var searchTimeout; //Timer to wait a little before fetching the data
$("#order_numbr").keyup(function() {
    searchKey = this.value;

    clearTimeout(searchTimeout);

    searchTimeout = setTimeout(function() {
        getUsers(searchKey);    
    }, 400); //If the key isn't pressed 400 ms, we fetch the data
});


function getUsers(searchKey) {
    $.ajax({
            type : "POST",
            async: false,
            data : "action=checkOrdrNum",
            url  : ajaxurl,
            dataType:"json",
             success: function(data) {
            if(data.status) {
                $("#ur_name1").val(data.userData.order_name);
            }   
        }
    }"This order number does not exist");         
}




And ofcourse the function.php file:


add_action('wp_ajax_nopriv_checkOrdrNum','checkOrdrNum');
add_action('wp_ajax_checkOrdrNum','checkOrdrNum');
function checkOrdrNum(){
    global $wpdb,$current_user;

     $response = Array();

    $response['status'] = false;

    $query = mysql_query("SELECT `order_name` FROM `art_work_history` WHERE `order_no` LIKE '%".$_POST['value']."%' LIMIT 1"); //Or you can use = instead of LIKE if you need a more strickt search

    if(mysql_num_rows($query)) {
        $userData = mysql_fetch_assoc($query);

        $response['userData'] = $userData;
        $response['status'] = true;            
    }

    echo json_encode($response);
}

1 个答案:

答案 0 :(得分:0)

你需要将输入值传递给ajax

我认为这是唯一缺少的东西

function getUsers(searchKey) {
    $.ajax({
            type : "POST",
            async: false,
            data : "action=checkOrdrNum",
            url  : ajaxurl,
            dataType:"json",
            data: {value: searchKey}, // this is the line missing
             success: function(data) {
                if(data.status) {
                $("#ur_name1").val(data.userData.order_name);
            }   
        }
    });         
}