Php 如何通过使用上一个下拉列表中选择的选项执行查询来创建下拉列表
我有一个带有网络下拉列表的表单Php 如何通过使用上一个下拉列表中选择的选项执行查询来创建下拉列表,php,jquery,ajax,drop-down-menu,html-select,Php,Jquery,Ajax,Drop Down Menu,Html Select,我有一个带有网络下拉列表的表单 <div class="control-group"> <label class="control-label" for="form-field-1">Network</label> <div class="controls"> <select id="a_network" name="a_network" onchange="getplan();">
<div class="control-group">
<label class="control-label" for="form-field-1">Network</label>
<div class="controls">
<select id="a_network" name="a_network" onchange="getplan();">
<option>Choose Network</option>
<?php
$q=mysql_query("select * from network");
while($rq=mysql_fetch_array($q))
{
?>
<option value="<?php echo $rq['id'];?>"><?php echo $rq['network_name'];?></option>
<?php
}
?>
</select>
</div>
</div>
选择网络后不显示任何选项
你好知道了。我忘了在成功函数后加逗号。所以我没有得到下降。谢谢你的帮助 试试这个:
<div class="control-group">
<label class="control-label" for="form-field-1">Network</label>
<div class="controls">
<select id="a_network" name="a_network" onchange="getplan();">
<option>Choose Network</option>
<?php
$q=mysql_query("select * from network");
while($rq=mysql_fetch_array($q))
{
?>
<option value="<?php echo $rq['id'];?>"><?php echo $rq['network_name'];?></option>
<?php
}
?>
</select>
</div>
</div>
<div class="control-group">
<label class="control-label" for="form-field-1">Plan</label>
<div class="controls">
<select id="plan" name="plan"></select>
</div>
</div>
<script>
function getplan()
{
var network_id = $("#a_network").val();
$("#plan").empty();
if(network_id != ''){
$.ajax({
type: "post",
url: "getPlanbyNetworkID.php",
data: {network_id: network_id},
dataType: "html",
success: function(data) {
$("#plan").append(data);
});
}
}
</script>
网络
选择网络
计划
函数getplan()
{
var network_id=$(“#a_network”).val();
$(“#计划”).empty();
如果(网络id!=''){
$.ajax({
类型:“post”,
url:“getPlanbyNetworkID.php”,
数据:{network\u id:network\u id},
数据类型:“html”,
成功:功能(数据){
$(“#计划”)。追加(数据);
});
}
}
现在创建名为getPlanbyNetworkID.php的页面,并在其中编写所需的查询:
<?php
$network_id = $_POST['network_id'];
$q=mysql_query("select * from sim_plans where network_id='$network_id'");
$dropdown = '<option>Choose Plan...</option>';
while($rq=mysql_fetch_array($q))
{
$dropdown .= '<option value="' . $rq['plan_id'] . '">' . $rq['plan'] . '</option>';
}
echo $dropdown;
?>
使用jqueryajax
来实现这一点首先,您使用的语法已被弃用。不要使用弃用和不安全的mysql*-函数。它们自PHP5.5(2013年)起就被弃用,并在PHP7(2015年)中被完全删除。请改用MySQLi或PDO。2.您非常愿意并且应该使用而不是连接查询,如果您使用上述MySQLi或PDO,就可以使用这些查询。@MayankPandeyz能否简要介绍如何使用ajax实现此目的在更改第一个下拉列表时进行ajax调用,获取所选值的数据并将其放入秒ond dropdownHi,我按照建议添加了代码。请参阅帖子。但仍然没有获得计划选项
public function get_plan($id)
{
$plans=array();
$q=mysql_query("select * from sim_plans where network_id='$id'");
while($res=mysql_fetch_assoc($q))
{
$plans[]=array("id"=>$res['plan_id'],"name"=>$res['plan']);
}
echo json_encode($plans);
}
<div class="control-group">
<label class="control-label" for="form-field-1">Network</label>
<div class="controls">
<select id="a_network" name="a_network" onchange="getplan();">
<option>Choose Network</option>
<?php
$q=mysql_query("select * from network");
while($rq=mysql_fetch_array($q))
{
?>
<option value="<?php echo $rq['id'];?>"><?php echo $rq['network_name'];?></option>
<?php
}
?>
</select>
</div>
</div>
<div class="control-group">
<label class="control-label" for="form-field-1">Plan</label>
<div class="controls">
<select id="plan" name="plan"></select>
</div>
</div>
<script>
function getplan()
{
var network_id = $("#a_network").val();
$("#plan").empty();
if(network_id != ''){
$.ajax({
type: "post",
url: "getPlanbyNetworkID.php",
data: {network_id: network_id},
dataType: "html",
success: function(data) {
$("#plan").append(data);
});
}
}
</script>
<?php
$network_id = $_POST['network_id'];
$q=mysql_query("select * from sim_plans where network_id='$network_id'");
$dropdown = '<option>Choose Plan...</option>';
while($rq=mysql_fetch_array($q))
{
$dropdown .= '<option value="' . $rq['plan_id'] . '">' . $rq['plan'] . '</option>';
}
echo $dropdown;
?>