我有一个表格。第一个字段是下拉选择选项。用户将选择公司的名称。根据名称,需要生成第二个下拉选择选项,显示公司所有分支机构的地址。
公司数据存储在 mysql 数据库中。
我怎样才能使上述情况发生?
我有一个表格。第一个字段是下拉选择选项。用户将选择公司的名称。根据名称,需要生成第二个下拉选择选项,显示公司所有分支机构的地址。
公司数据存储在 mysql 数据库中。
我怎样才能使上述情况发生?
<select>
标签,则可以使用它。<select name="option">
<option value="one"<?php echo ($data["option"] == "one") ? ' selected="selected"' : ""; ?>>One</option>
<option value="two"<?php echo ($data["option"] == "two") ? ' selected="selected"' : ""; ?>>Two</option>
<option value="three"<?php echo ($data["option"] == "three") ? ' selected="selected"' : ""; ?>>Three</option>
</select>
你在这里有两个选择
尽可能基本 - 通过 ajax 将公司名称发送到 php,查询数据库以获取地址,在循环中填充相同 php 脚本中的下一个下拉列表并回显。用ajax接收回来
我会将该代码用于第一个列表的第一代。然后第二个列表必须使用 AJAX 完成(JQUERY可以在这里为您提供帮助)。你想让 JQUERY 得到
var client=$('#client_name').find("option:selected");
然后发出一个正常的 AJAX 请求。
我建议您使用PDO连接到您的数据库,而不是使用该通用连接。
根据您在回复 Vamsi 中发布的代码,代码将是
<label>Client Name</label><br>
<select id="client_name">
<?php
// PDO connect to the DB
$db = new PDO ('mysql:host=localhost;dbname=DB_NAME','DB_USER','DB_PASS');
$sql = 'SELECT name FROM client'
$result = $db->query($sql)->fetchAll(PDO::FETCH_ASSOC);
if(count($results)>0){ echo "<option></option>";}
foreach( $result as $key => $val)
{
// could also be $val['name'] depending on your db
echo "<option>".$key['name']."</option>";
}
?>
<select>