我正在尝试创建一个下拉菜单,其中包含数据库中的值,选择后它应该显示与所选值相关的所有信息。
在MySQL中,我有三个表,人,地址和简历。我创建了两个下拉菜单(见下面的代码),它们显示地址> address_state和地址> address_city的值。需要发生的是,当我选择一个州时,它将仅显示居住在所选州的人。在选择城市时,它必须显示居住在同一城市的所有人。
我的下拉菜单仅选择状态:(获得相同的代码城市)
$servername = "localhost";
$username = "root";
$password = "usbw";
$dbname = "persons";
// CREATE A CONNECTION WITH THE DATABASE
// CONNECTIE MAKEN MET DATABASE
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
//$sql="SELECT name,id FROM student";
$sql="SELECT DISTINCT address_state FROM address ORDER BY address_state asc";
/* You can add order by clause to the sql statement if the names are to be displayed in alphabetical order */
echo "<select name=address value=''>Student Name</option>"; // list box select command
foreach ($conn->query($sql) as $row){//Array or records stored in $row
echo "<option value=>$row[address_state]</option>";
/* Option values are added by looping through the array */
}
echo "</select>";// Closing of list box
?>
我知道你不能提供任何代码,因为我没有任何代码来显示哪个实际"选择"了这些人。但是我在谷歌上搜索了教程,但没有找到一个可以满足我需要的东西。所以我希望你们能帮助我或可以提供任何教程。
替换此行:
echo "<option value=>$row[address_state]</option>";
跟
echo "<option value='".$row['address_state']."'>".$row['address_state']."</option>";
第一个替换:
echo "<select name=address value=''>Student Name</option>";
自:
echo '<select name="address">';
接下来替换它:
echo "<option value=>$row[address_state]</option>";
跟:
echo '<option value="'.$row[address_state].'">'.$row[address_state].'</option>';