首页 > 解决方案 > 使用 PHP 的下拉 SQL 列表并在单击时更新

问题描述

我有三个下拉列表。在第一个上,我选择了一些东西。之后,我必须从第二个下拉列表中选择一些东西。但它必须同时更新。从第二个下拉列表中,我必须选择一些可以更改最后一个下拉列表中可选择项目的内容。

我已经做了 3 个列表,但我正在努力使用 POST 功能。我猜想在下拉菜单中选择第一个项目后,它必须使用 post 功能和自动重新加载页面。第二个下拉列表必须执行类似 list all where items = post from before 之类的操作。正确的?

在此处输入图像描述

我该如何处理?

这是我现在的代码,但是缺少 POST 的部分。

<?php
$conn = mysqli_connect("localhost", "XXX", "XXX", "XXX") or die("Connection Error: " . mysqli_error($conn));
$result = mysqli_query($conn, "SELECT * FROM XXX");
?>
<select name="dynamic_data">
<?php
$i=0;
while($row = mysqli_fetch_array($result)) {
?>
<option value="<?=$row["hersteller"];?>"><?=$row["hersteller"];?></option>
<?php
$i++;
}
?>
</select>
<?php
mysqli_close($conn);
?>

<?php
$conn = mysqli_connect("localhost", "XXX", "XXX", "XXX") or die("Connection Error: " . mysqli_error($conn));
$result = mysqli_query($conn, "SELECT * FROM XXX");
?>
<select name="dynamic_data">
<?php
$i=0;
while($row = mysqli_fetch_array($result)) {
?>
<option value="<?=$row["model"];?>"><?=$row["model"];?></option>
<?php
$i++;
}
?>
</select>

<?php
$conn = mysqli_connect("localhost", "XX", "XXX", "XXX") or die("Connection Error: " . mysqli_error($conn));
$result = mysqli_query($conn, "SELECT * FROM XX");
?>
<select name="dynamic_data">
<?php
$i=0;
while($row = mysqli_fetch_array($result)) {
?>
<option value="<?=$row["motortyp"];?>"><?=$row["motortyp"];?></option>
<?php
$i++;
}
?>
</select>

标签: phphtmlcssmysqlsql

解决方案


在选择(下拉)上使用.change事件。在这种情况下,调用 ajax 方法在第二个下拉列表中填充数据。像这样的第三个下拉菜单也是如此

$('#fristdropdownid').change(function(){
    var responseId = $(this).val();
    $.ajax({
       type:'POST',
       data:{responseId:responseId},
       url:'getdata.php',
       success:function(data){
         $('#seconddropdownid').html(data);
       }
    });
}

推荐阅读