繁体   English   中英

如何根据用户选择显示下拉字段(从mysql db填充)

[英]How to make a drop down field (populated from mysql db) appear based on user selection

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

公司数据存储在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>

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

您有两个选择

  1. 在第一个下拉菜单更改后发布表单,并根据发布的值和显示获取数据。
  2. 使用ajax功能根据下拉菜单中选择的值获取数据并显示

基本知识-通过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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM