【问题标题】:Dropdown SQL List with PHP and update on click使用 PHP 的下拉 SQL 列表并在单击时更新
【发布时间】:2020-04-19 23:42:57
【问题描述】:

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

我已经做了 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>

【问题讨论】:

  • 你为什么要打开这么多连接?而且 or die 部分是非常错误的,它永远不会做任何事情。只需将其删除。

标签: php html css mysql sql


【解决方案1】:

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

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

【讨论】:

  • 感谢您的快速答复。但我不明白如何实现你的代码。你写 getdata.php 我需要另一个 .php 文件吗?你也写.html?
  • 在 getdata.php 文件中,您将编写查询或任何您想要的内容并将数据返回给 ajax 调用,.html 将您的输出(来自 getdata.php)设置为下拉列表跨度>
猜你喜欢
  • 2014-11-20
  • 2021-03-15
  • 2019-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-12
  • 1970-01-01
相关资源
最近更新 更多