我有这个代码查询数据库并填充下拉列表 第一:我想确保此代码将项目的值设置为检索到的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>
答案 0 :(得分: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));