如何从数据库中的一个表创建2个动态下拉列表?

时间:2017-12-15 06:02:18

标签: javascript php mysql database

有人可以帮助我如何链接2个下拉列表哪些数据来自数据库中的同一个表,是否可以这样做,因为我只能找到一个解决方案,数据库中必须有2个表将这两者联系起来。这是应该如何工作,第一,用户选择部门,第二个下拉列表将只显示从该特定部门分配的人员。

数据库表有id,name,department。

该部门已经开始运作,但第二次下拉列表无法从部门过滤。有人能帮助我知道这有什么问题吗?

的index.php

<?php
$query ="SELECT DISTINCT company from hrar";
$results = $db_handle->runQuery($query);
?>
<script>
function getName(val) {
	$.ajax({
	type: "POST",
	url: "getName.php",
	data:'department='+val,
	success: function(data){
		$("#nameList").html(data);
	}
	});
}

function selectDepartment(val) {
$("#search-box").val(val);
$("#suggesstion-box").hide();
}
</script>

<label>Department:</label><br/>
<select name="country" id="country-list" class="demoInputBox" onChange="getName(this.value);">
<option value="">Select Department</option>
<?php
foreach($results as $country) {
?>
<option value="<?php echo $country["id"]; ?>"><?php echo $country["company"]; ?></option>
<?php
}
?>
</select>
</div>
<div class="row">
<label>Name:</label><br/>
<select name="state" id="nameList" class="demoInputBox">
<option value="">Select Name</option>
</select>

//below is the getName.php

if(!empty($_POST["company"])) {
	$query ="SELECT DISTINCT name from hrar = '" . $_POST["company"] . "'";
	$results = $db_handle->runQuery($query);
?>
	<option value="">Select Name</option>
<?php
	foreach($results as $name) {
?>
	<option value="<?php echo $name["id"]; ?>"><?php echo $name["name"]; ?></option>
<?php
	}
}
?>

1 个答案:

答案 0 :(得分:0)

试试这个。

<select name="filter" id="filter" onchange="this.form.submit();">
    <option value="name">Select Name</option>
    <?php
        $sql = "SELECT DISTINCT name FROM hr";
        $result = mysqli_query($conn,$sql);
        while ($row = mysqli_fetch_array($result))
        {
            echo "<option value='". $row['name'] ."'>" .$row['name'] ."</option>";
        }
    ?>
</select>