【发布时间】:2012-11-27 19:23:05
【问题描述】:
我正在尝试使用另一个下拉框中的选择来填充下拉框。我已经想出了如何使用数据库中的数据填充列表,似乎问题在于在不提交表单的情况下从同一页面的第一个下拉框中获取他们选择的内容。这是我目前所拥有的。
<select name = "trainer_has_update_pokemon">
<p>Trainer</p>
<?php
$query = "SELECT name FROM Trainer";
if ($stmt = $mysqli->prepare($query)) {
$stmt->execute();
$stmt->bind_result($name);
while ($stmt->fetch()) {
echo"<option>$name</option>";
}
$stmt->close();
}
?>
</select>
<?php
$trainer_name = $_GET['trainer_has_update_pokemon'];
?>
<p>Pokemon</p>
<select name = "type_of_update_pokemon">
<?php
$query = "SELECT DISTINCT p.name FROM Pokemon p WHERE p.owner_id = (SELECT t.trainer_id FROM Trainer t WHERE t.name = '$trainer_name')";
if ($stmt = $mysqli->prepare($query)) {
$stmt->execute();
$stmt->bind_result($pkmn_name);
while ($stmt->fetch()) {
echo"<option>$pkmn_name</option>";
}
$stmt->close();
}
?>
我在 Javascript 或 AJAX 方面并没有任何经验,所以如果没有这些方法可以做到这一点,那将是有帮助的,但如果没有,我愿意在这种情况下学习他们的应用程序。
【问题讨论】:
-
没有,除了 AJAX 之外别无他法(除了在初始页面加载时加载整个数据库,然后用 javascript 更改组合框)
标签: php database drop-down-menu mysqli