-2

我有这个代码,它首先查询数据库并填充一个下拉列表:我想确保这个代码将项目的值设置为第二个检索到的 ID:我想在上一个选定的项目上填充另一个下拉列表

代码看起来像这样

<?php
 $query="SELECT * FROM city ORDER BY ID";
 $result = mysql_query($query, $con);
 $options = array();
  while ($query_data = mysql_fetch_array($result)) {
  $options[$query_data["ID"]] = $query_data["Cname"];
  }
  ?>
      <select name="dropdown_city" >
 <?php foreach ($options as $key => $value) : ?>
<?php $selected = ($key == $_POST['dropdown_city']) ? 'selected="selected"' : ''; ?>
<option value="<?php echo $key ?>" <?php echo $selected ?>>
<?php echo $value ?>    </option>
<?php endforeach; ?>
 </select>
  </li>
4

1 回答 1

0

您可以对填充另一个查询的 php 文件进行 ajax 调用并在 jquery 中构建您的其他选择

</script>
$(function() {
    $('#dropdown_city').change(function() {
       $.getJSON('get_values.php', {city: $(this).val()}, function(data) {
           var dropdown = $('#dropdown_other').empty();
           $.each(data, function(i, item) {
              $('<option value="' + item[0] + '">' + item[1] +
                '</option>').appendTo(dropdown);
           });
       });
    });
});

</script>
...
<select name="dropdown_city" id="dropdown_city">

</select>
<select id="dropdown_other">
</select>

在 get_values.php 中,您只需从数据库中返回另一个选择:

$city = mysql_real_escape_string($_GET['city']);
$result = mysql_query("SELECT id, name FROM other_table WHERE city = $city", $con);
$options = array();
echo json_encode(mysql_fetch_array($result));
于 2013-02-24T19:34:15.047 回答