php - 如何从父选择 PHP 填充子下拉菜单

标签 php mysql forms validation drop-down-menu

如何仅使用 PHP 从父下拉菜单中填充静态页面上的子下拉菜单选择。例如,在选择您居住的州后,让 child 下拉菜单填充县,或者在我的例子中,在制造商之后填充系列。

编辑:有没有不用js的方法?

<?php
$man = mysqli_query($con,"SELECT DISTINCT manufacturer FROM inventory.manufacturer WHERE manufacturer!=\"\" ORDER BY manufacturer;");               
echo "<select name=\"manufacturerS\">
<option value=\"\">Select</option>";
while($row = mysqli_fetch_array($man)) {
    echo "<option value=\"".$row['manufacturer']."\">".$row['manufacturer']."</option>";
}   
echo "</td>
<td>";

if(isset($_POST['manufacturerS'])){
$ser = mysqli_query($con,"SELECT DISTINCT series, manufacturer FROM inventory.audit WHERE series!=\"\" AND manufacturer='".$_POST['manufacturerS']."' ORDER BY series;");               
echo "<select name=\"seriesS\">
<option value=\"\">Select</option>";
while($row = mysqli_fetch_array($ser)) {
    echo "<option value=\"".$row['series']."\">".$row['series']."</option>";
}   
    echo "</td>
    <td>";      
}

最佳答案

您需要客户端来确定何时选择制造商选择,然后您可以使用纯 javascript :

<form id="manufacturerF" method="POST">
<select name="manufacturerS" onchange="document.getElementById('manufacturerF').submit();">
<?php  
    $man = mysqli_query($con, "SELECT DISTINCT manufacturer 
    FROM inventory.manufacturer 
    WHERE manufacturer!=\"\" 
    ORDER BY manufacturer;");

    while ($row = mysqli_fetch_array($man)) {
        echo '<option value="'.$row['manufacturer'].'>'.$row['manufacturer'].'</option>';
    } 
?>
</select>
</form>


<?php
    if(isset($_POST['manufacturerS']) && !empty($_POST['manufacturerS'])){  
        echo '<select name="seriesS">';

        $ser = mysqli_query($con,"SELECT DISTINCT series, manufacturer 
        FROM inventory.audit 
        WHERE series!=\"\" 
        AND manufacturer='".$_POST['manufacturerS']."' 
        ORDER BY series;");

        while ($row = mysqli_fetch_array($ser)) {
            echo '<option value="'.$row['series'].'">'.$row['series'].'</option>';
        }   

        echo '</select>';   
    }
?>

我建议您使用JQuery所以不需要<form>并重新加载您的页面。 正确的想法是使用 JQUERY检测何时选择 select1,然后使用 AJAX填充 select2

关于php - 如何从父选择 PHP 填充子下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24867452/

相关文章:

PHP curl : could not resolve host (over VPN)

php - Yii 2 的最低 PHP/服务器要求

php - 按特色 DESC 排序不适用于自定义变量

java - 当我尝试使用 hibernate 将字段插入表时出错

javascript - 如何解析 textarea 输入中的 html 并将 addClass 添加到 td 元素

php - 1040 php Pdo 异常中的连接过多

php - 原始查询生成器 codeigniter 中 '<'(小于)之后缺少代码

php - 登录后无法查看页面

php - Codeigniter set_value() 并填充表单值

php - 如何用ajax提交文件上传表单?