1

我有一个表格。第一个字段是下拉选择选项。用户将选择公司的名称。根据名称,需要生成第二个下拉选择选项,显示公司所有分支机构的地址。

公司数据存储在 mysql 数据库中。

我怎样才能使上述情况发生?

4

4 回答 4

0

如果您说的是<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>

对于子选择,请参阅此演示:http: //jsfiddle.net/ah4rx/

于 2012-11-29T04:52:27.043 回答
0

你在这里有两个选择

  1. 在第一个下拉列表更改时发布表单,并根据发布的值获取数据并显示。
  2. 使用 ajax 功能根据下拉列表中选择的值获取数据并显示
于 2012-11-29T04:52:33.680 回答
0

尽可能基本 - 通过 ajax 将公司名称发送到 php,查询数据库以获取地址,在循环中填充相同 php 脚本中的下一个下拉列表并回显。用ajax接收回来

于 2012-11-30T15:56:32.667 回答
0

我会将该代码用于第一个列表的第一代。然后第二个列表必须使用 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>
于 2012-11-30T16:05:17.980 回答