使用PHP的下拉列表中的第二个下拉列表


Second drop down list from drop down list using PHP

我正在创建一个下拉列表,该列表使用选项的名称(不同的汽车)。我想添加第二个下拉列表,它使用第一个下拉列表中的id来创建每辆车不同型号的下拉列表。

如果可能的话,我只想使用PHP,我相信是的。这是我的第一个下拉菜单的代码。

function get_vehicle() {
    global $db;
    $query = $db->prepare("SELECT idmanufacturer, name FROM manufacturer");
    $query->execute();
    $vehicles = $query->fetchAll();
    if(isset($vehicles)) {
        echo "<label>Vehicle:</label>";
        echo "<select name='vehicle'>";
    foreach ($vehicles as $vehicle){
            echo '<option value="'.$vehicle['name'].'">'.$vehicle['name'].'</option>';
            }echo "</select>";
        echo "<br />";
    }
 }

为此,您需要创建一个ajax函数。在第一个下拉列表发生更改时,将其值传递给任何其他页面的ajax请求,并通过其id查找所有车型并在第二个下拉列表中显示。以下是一个示例:-//文件名First.php

function get_vehicle() {
    global $db;
    $query = $db->prepare("SELECT idmanufacturer, name FROM manufacturer");
    $query->execute();
    $vehicles = $query->fetchAll();
    if(isset($vehicles)) {
        echo "<label>Vehicle:</label>";
        echo "<select name='vehicle' onselect="call_models(this)">";
    foreach ($vehicles as $vehicle){
            echo '<option value="'.$vehicle['id'].'">'.$vehicle['name'].'</option>';
            }echo "</select>";
        echo "<br />";
    }
 }

//这将打印第一个选择框

 get_vehicle() ; 

/*这是第二个下拉菜单,默认情况下它将被禁用

<select name="cardmodels" id="models" disabled>
<option></option>
</select>

/*************添加ajax功能************/

<script type="text/javascript">
/***********  This function will get the value of first dropdown and will pass the value to the second.php where we will create function to retrieve all models of selected class after fetching this we will return all options of second class. After fetching this we will assign to the second dropdown.
***************/
    function call_models(cnt)
    {
    var model= $(cnt).val();    
    if(models)  {
    $.ajax({
    type: "POST",
    url: "Second.php",
    data: {model:model_car}
    })
    .done(function(responce) {
    if(responce!="Not_found") {
    $('#models').removeAttr( "disabled" );
    $('#models').html(responce);
    }
    });
    }
    }
</script>

/**************Second.php*********///文件名First.php

    function get_models($id) {
        global $db;
        $query = $db->prepare("SELECT model_name FROM car_models where car_id ='".$id."' ");
        $query->execute();
        $models= $query->fetchAll();
        if($models) {
        foreach ($models as $model){
                echo '<option value="'.$model['name'].'">'.$model['name'].'</option>';
                }
        }
     }

if($_POST) {

get_models($_POST['model']);

} else {

echo "Not_found";
}
?>
相关文章: