php - 映射下拉列表 2 中的值取决于通过 php mysql 在下拉列表 1 中选择的值

标签 php mysql

我对 php 和 mysql 比较陌生。 我有一个来自那里有 2 个 dropdwon 的。 dropdwon 中的值通过 mysql 获取。但现在我无法根据第一个下拉列表中选择的值获取第二个下拉列表中的值。 这是我迄今为止尝试过的代码。

请帮忙!

谢谢

<html>
<head><title>Sheet</title></head>
<body>
<h2 align="center">SKU Selection</h2>
<?php 
$conn=mysqli_connect('localhost','root','');
$db="sample";
mysqli_select_db($conn,$db);
$sql="SELECT DISTINCT(Site) FROM `bom`";
$result=mysqli_query($conn,$sql);
echo "Site Name :";
echo "<select name='Site'>";
echo "<option value='0'>Select Site</option>";
while($row=mysqli_fetch_array($result))
{
echo "<option value='".$row['Site']."'>".$row['Site']."</option>";
}
echo "</select>";

$sql1="SELECT BOM Desc FROM `bom` where Site= ";
$result1=mysqli_query($conn,$sql1);
 echo "<br>";
echo "SKU :";
echo "<select name='SKU'>";
while($row1=mysqli_fetch_array($result1))
{
echo "<option value='".$row1['BOM Desc']."'>".$row1['BOM Desc']."</option>";
}
echo "</select>";

?>
</body>
</html>

最佳答案

您好,这里是您的固定代码:

<html>
    <head><title>Sheet</title></head>
    <body>
        <h2 align="center">SKU Selection</h2>
        <?php
        $conn = mysqli_connect('localhost', 'root', '');
        $db = "sample";
        mysqli_select_db($conn, $db);
        $sql = "SELECT DISTINCT(Site) FROM `bom`";
        $result = mysqli_query($conn, $sql)  or die(mysqli_error($conn)); // add error show info
        echo "Site Name :";
        echo "<select name='Site'>";
        echo "<option value='0'>Select Site</option>";
        while ($row = mysqli_fetch_array($result)) {
            echo "<option value='" . $row['Site'] . "'>" . $row['Site'] . "</option>";
        }
        echo "</select>";

        $sql1 = "SELECT BOM Desc FROM `bom` where Site IS NULL "; // change the for null site
        $result1 = mysqli_query($conn, $sql1) or die(mysqli_error($conn)); // add error show info
        echo "<br>";
        echo "SKU :";
        echo "<select name='SKU'>";
        while ($row1 = mysqli_fetch_array($result1)) {
            echo "<option value='" . $row1['BOM Desc'] . "'>" . $row1['BOM Desc'] . "</option>";
        }
        echo "</select>";
        ?>
    </body>
</html>

如果您需要加载第二个选择,则 php 无法处理此问题,因为您必须给用户时间来检查第一个选择。

我认为更好的方法是使用 Ajax 请求:

Auto Load Second Dropdown using AJAX

关于php - 映射下拉列表 2 中的值取决于通过 php mysql 在下拉列表 1 中选择的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34835569/

相关文章:

php - 为什么我的登录表单无法在 php 中正确提交

MySQL Order By a number,最后一个空字符串(0's)

php - MySQL数据库选择运动员数据需要位置

PHP 限制访问,除非登录

C# MySQL 连接池限制,以及清理连接

mysql - JOIN后多表选择

php - 上传并插入xls文件到mysql?

linux - 无法从 ubuntu 服务器中的 php 应用程序发送邮件

php - Laravel 中的 get 路由覆盖资源路由,如何克服这个问题

php - 如何使用 BuildMaster 仅复制已修改的文件到我的服务器?