【发布时间】:2017-03-08 17:23:09
【问题描述】:
我的数据库中有一个名为 company 的表,在 company 表内有 3 列名称 Id、Company_Name 和 location。 我有两个下拉列表。第一个下拉列表仅显示公司名称,并且根据公司名称位置将在第二个下拉列表中更改。 我做了一些代码,但在第二个下拉菜单中我得到了所有位置名称。
<?php
//$comp=$_POST['Company'];
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "demo_db";
//open connection to mysql db
$connection = mysqli_connect($servername,$username,$password,$dbname) or die("Error " . mysqli_error($connection));
//fetch table rows from mysql db
$sql = "select * from company";// it displaying all company name in my first drop down list
$result = mysqli_query($connection, $sql) or die("Error in Selecting " . mysqli_error($connection));
if (isset($_POST['Company'])) {
$name=$_POST['Company'];
$sql = "select * from company where Company_name=$name";
}
$result_loc = mysqli_query($connection, $sql) or die("Error in Selecting " . mysqli_error($connection));
//close the db connection
mysqli_close($connection);
?>
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<select onchange='this.form.submit();' name="Company">
<option value="Select your Location1" disabled selected>Select your company</option>
<?php while($row = mysqli_fetch_array($result)):;?>
<option value="<?php echo $row[1];?>"><?php echo $row[1];?></option>
<?php endwhile;?>
</select>
<select>
<option value="" disabled selected>Select your location</option>
<?php while($row = mysqli_fetch_array($result_loc)):;?>
<option value="<?php echo $row[2];?>"><?php echo $row[2];?></option>
<?php endwhile;?>
</select>
</body>
</html>
【问题讨论】:
-
首先 - SELECT 菜单不在表单内,因此
onchange事件处理程序将不正确,其次使用 Ajax 函数发送将用于查询数据库的请求 ( POST )获取第二个(依赖)SELECT 菜单的内容。 -
在更改第一个选择框时,您必须进行 ajax 调用并在 ajax 文件中找到位置,然后从响应中将位置绑定到第二个下拉列表。
-
是的,我之前检查过,但仍然遇到问题
-
我们可以不用 Ajax 吗?
标签: php jquery html mysql drop-down-menu