如何从选择列表中选择选项,然后根据数据库记录更改第二个选择列表?

我有一个包含多个选择下拉列表的表单。应选择第一个选项(夏季、春季或冬季),然后第二个下拉列表将显示在此期间上课的学生。


我目前在对 PHP 的 sql 请求中使用了一个 PHP 变量(它保存了第一个选择)——这可能是我的问题,但我看不到适合我的解决方案。


我对所有想法持开放态度。我已经在 StackOverflow 上查看了一些类似的问题,但似乎没有一个适合我的问题。


<div class="form-group col-md-12">

    <select name="classe" id="classe" class="form-control">

        <option value="">Sélectionnez la classe</option>

        <?php

        while ($rows = $result->fetch_assoc()) {

            $classe = $rows['classe'];

            echo "<option value='$classe'>$classe</option>";

        }

        ?>

    </select>

</div>

<div class="form-group col-md-12">

    <select name="etudiant" id="etudiant" class="form-control">

        <option value="">Sélectionnez l'étudiant'</option>

        <?php

        while ($rows3 = $result3->fetch_assoc()) {

            $etudiant = $rows3['name'];

            echo "<option value='" . $rows3['id'] . "'>$etudiant</option>";

        }

        ?>

    </select>

</div>



$classe = filter_input(INPUT_POST, "classe");

$askEtudiant = new mysqli('localhost', 'root', '', 'attendance');

$result3 = $askEtudiant->query("SELECT id, name FROM users WHERE role = 'etudiant' AND classe = '$classe'");

我没有包含 conncetion 信息,因为我可以看到它有效。


第一个选择列表称为“classe”,包含学生在校园的时间。


第二个列表“学生应列出数据库中在先前选择的时间段内注册的那些学生。


信息:我目前在第二个下拉列表中返回的结果是数据库中没有分配给他的时间段(夏季等)的一名学生“学生”!


在此先感谢您的帮助...


吃鸡游戏
浏览 101回答 2
2回答

ibeautiful

它被称为级联下拉菜单。基本上,您需要在第一个下拉列表的onChange事件上触发 AJAX 调用,并从 API 响应填充第二个下拉列表。

忽然笑

HTML 文件中的解决方案脚本函数 showUser(str) { if (str == "") { document.getElementById("etudiant").innerHTML = ""; 返回; } if (window.XMLHttpRequest) { // IE7+, Firefox, Chrome, Opera, Safari 的代码 xmlhttp = new XMLHttpRequest(); } else { // IE6, IE5 代码 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { document.getElementById("etudiant").innerHTML = this.responseText; } } xmlhttp.open("GET", "getUsers.SEPERATE FILE&nbsp;<?phprequire_once("connection.php");$id =&nbsp; $_GET["q"];$result3 = "SELECT id, name FROM users WHERE classe = :classe";$stmt = $conn->prepare($result3);$stmt->bindParam(":classe", $_GET['q']);$stmt->execute();$users = $stmt->fetchAll();echo "<option value=\"\">Sélectionnez l'étudiant'</option>";foreach ($users as $key => $value) {echo "<option value='" . $value['id'] . "'>" . $value['name'] . "</option>";}
打开App,查看更多内容
随时随地看视频慕课网APP