php - 使用 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>
解决方案
在选择(下拉)上使用.change事件。在这种情况下,调用 ajax 方法在第二个下拉列表中填充数据。像这样的第三个下拉菜单也是如此
$('#fristdropdownid').change(function(){
var responseId = $(this).val();
$.ajax({
type:'POST',
data:{responseId:responseId},
url:'getdata.php',
success:function(data){
$('#seconddropdownid').html(data);
}
});
}
推荐阅读
- java - Java - 从文件中读取并在特定值处停止
- java - FacesCompositeELResolver 中的 NullPointerException 如何修复或获得支持?
- python - Beautifulsoup 网页抓取网站,带有下拉菜单
- python - 如何能够在 QListWidgets 之间拖放项目并且仍然能够使用拖放进行排序
- python - 索引错误,表示索引超出范围
- assembly - 了解汇编代码的用途
做 - java - Java 转换:dddd 格式到 mm/dd
- python - 为什么要导入python
检查错误的包裹位置 - java - 如何计算大于或等于输入参数的糖果条?
- javascript - 为什么“module.exports = (req, res) => {”会阻止我的路由工作