Ajax SQL填充根据输入选择下拉列表

时间:2018-07-31 13:26:49

标签: php ajax

我有一个输入(预先输入),用户应该在其中输入名称。基于该名称,我正在使用ajax从数据库中检索两个不同的值集,这些值在2个下拉列表中显示。这两个字段是到达类型和子名称。

我在输入上添加了onchange动作,并在用户开始键入时调用了该函数。

到目前为止,它似乎无法正常工作。这是我的代码

   <input type="text" class="form-control typeahead text_field"  
   name="name_alias" id="name_alias" placeholder="Search unit" style="min- 
    width:200px;"  onChange="getNameType();" required/>


function getNameType()
{
    if (ajax) {
        var name_alias = document.getElementById("name_alias").value;

        if(name_alias) {
            var param = "?name_alias=" + name_alias;
            var url = "getNameType.php";
            ajax.open("GET", url + param, true);
            ajax.onreadystatechange = handleAjax3;
            ajax.send(null);
        }
    }
}

function handleAjax3()                                                                                                                           
{
    if (ajax.readyState == 4) {
        var arrival_type = document.getElementById('arrival_type');
        if(!!ajax.responseText) {
            var result = JSON.parse(ajax.responseText);
            if(!!result){
                $('#arrival_type').val((!!result.arrival_type) ? result.arrival_type: '');
            } 
        }
    }
 }

我的getNameType文件

<?php

$conn = mysqli_connect("","","","");

$name_alias = mysqli_real_escape_string($conn, $_GET['name_alias']);
$query = "SELECT arrival_type 
          FROM table_namer 
          WHERE name_alias='".$name_alias."' 
          LIMIT 1";
$result = mysqli_query($conn, $query) or die(mysql_error());
$response = array();
if(mysqli_num_rows($result) > 0) {
    while($row = mysqli_fetch_assoc($result)) {
        $response['arrival_type'] = ($row['arrival_type'] != '') ? $row['arrival_type'] : '';

    }
}
echo  json_encode($response, true); 
?>

0 个答案:

没有答案