根据另一个选择框,通过mysql数据库中的数据填充html选择框

时间:2015-09-21 16:57:34

标签: php jquery html mysql

我一直在努力解决这个问题。我已经阅读了大量的帖子和教程,他们做了类似的事情,但是真的不能让它为我工作。 我需要制作包含2个html选择框的php表单:学校和班级。 我可以很容易地从我的数据库中显示所有学校,但无法了解如何依赖该学校选定的学校表演课程。

我知道这个问题比其他人更耗时,但如果你选择帮助我,我会很高兴!

Kristaps

1 个答案:

答案 0 :(得分:0)

  

因为,您还没有提供数据库的数据库结构。一世   从我自己假设并相应地写了查询。将您的查询更改为   根据您的需要。

<div>
    <select class='Schools' name='SchoolName'>
        <option value="">Select School</option>
        <?
        $Query="SELECT SchoolIDColumnName,SchoolNameColumn FROM SchoolsTable";
        foreach($pdo->query($Query) as $row)
        {?>
        <option value="<?echo {$row['SchoolIDColumnName']};?>"><?echo {$row['SchoolNameColumn']};?></option>
        <?}?>
    </select>
</div>
<div class='ShowClassName'>
    <select>
        <option value="">Select Class Name</option>
    </select>
</div>

<script>
    $('.Schools').change(function(){
        var SchoolID=$('.Schools').val();
        $.ajax({url:"Ajax-ShowClassName.php?SchoolID="+SchoolID,cache:false,success:function(result){
            $('.ShowClassName').html(result);
        }});
    });
</script>

<强> Ajax的ShowClassName.php

<?
$SchoolID=$_GET['SchoolID'];

$QueryClassName="SELECT * FROM ClassTable WHERE SchoolIDColumnName='$SchoolID'";
?>

<select name='ClassName'>
    <?  
    foreach($pdo->query($QueryClassName) as $row)
    {?>
    <option value="<?echo {$row['ClassIDColumnName']};?>"><?echo {$row['ClassColumnName']};?></option>
    <?}?>
</select>