如何从数据库中填充下拉菜单项

how to populate dropdown menu item from databaes

本文关键字:菜单项 填充 数据库      更新时间:2023-09-26

嗨,我有两个下拉菜单,我想用我的第一个相关下拉菜单项填充我的第二个下拉菜单项。我的第一个下拉菜单项是苹果、三星、HTC、诺基亚等。当我选择由iPhone 6s、iPhone 5s、iPhone 4s等填充的苹果下拉菜单项时,我无法很好地用英语解释。对不起,我的英语不好。我从数据库填充了我的第一个下拉菜单

function selectFactor(){
    $result = @mysql_query("SELECT * from Factors");
    while($record = @mysql_fetch_array($result)){
        echo '<option value="'.$record['FactorID'].'">'.$record['FactorName'].'</option>';
    }
}

并在html文件中显示结果

<select name="dropdown" id="dropdown" onchange="bla()">
<?php selectFactor(); ?>
</select>

我只是试着用它做点什么布拉布拉。。。

function bla(){
    var e = document.getElementById("dropdown");
    var elementValue = e.options[e.selectedIndex].value;
    console.log(elementValue);
}

当第一个索引更改时,如何填充第二个下拉菜单?更新!

<?php
$name = $_POST['selectedItem'];
function selectSum(){
$result = @mysql_query("SELECT * from factor INNER JOIN sumd ON factor.factorID=model.factorID where factorNer='$name'");
    while($record = @mysql_fetch_array($result)){
        echo '<option value="'.$record['factorID'].'">'.$record['modelNer'].'</option>';
    }
}
?>

您需要在数据库中查询所选项目:get_data.php是您必须创建的文件,您将在其中查询数据库。

你不需要这个:

onchange="bla()

只是一个ajax调用:

$(document).ready(function(){
   $('#dropdown').change(function(){
       var selectedItem = $(this).val()  //your item id
        $.ajax({
            url: 'get_data.php',
            data : selectedItem,
            dataType: "json",
            type : 'POST',
        })
        .done(function(data) {
             //put the returned data in the second selectbox
            var output = '';
            $.each(data, function(i, el){
                output += '<option value="'+el.name+'">'+el.name+'</option>'
           //where 'name' is at moment the placeholder of your returned data   
            })
            $('#dropdown2').html(output)
        })
        .fail(function() {
            console.log("error");
        })
   })
})

如果你已经准备好了查询,但不知道如何将返回的数据放入第二个选择框,我也会帮助你。

注意:这是您的第二个必须填充的选择,您需要在其中有一个唯一的ID:

<select name="dropdown2" id="dropdown2">
    //here will be the output of the available options
</select>

一个重要通知:

我建议你(当你有这个工作的时候)切换到mysqli,不要再使用mysql了。这是一个安全问题,您可能会受到mysql注入的攻击!!