我试着做一个动态下拉,当在医生下拉列表中选择任何多边形选项时,总是出现同一个医生。
这是动态下拉的代码
<div class="form-group">
<label>Poly : </label>
<select name="poly" id="poly" class="form-control" style="width: 50%">
<option disabled selected>--Choose Poly--</option>
<?php
$sqql = mysqli_query($kon,"SELECT * FROM poly") or die(mysqli_error($kon));
while ($rorow = mysqli_fetch_array($sqql)) {
?>
<option value="<?php $rorow['id_poly'];?>"><?php echo $rorow['poly']; ?></option>
<?php
}
?>
</select>
</div>
<div class="form-group">
<label>Doctor : </label>
<select name="doctor" id="doctor" class="form-control" style="width: 50%">
<option disabled selected>--Choose doctor--</option>
</select>
</div>
这是ajax的代码
<script src="https://code.jquery.com/jquery-3.1.1.js" integrity="sha256-16cdPddA6VdVInumRGo6IbivbERE8p7CQR3HzTBuELA=" crossorigin="anonymous"> </script>
<script type="text/javascript">
$(document).ready(function(){
$("#poly").change(function(){
var id_poly = $(this).val();
$.ajax({
url:"getdoctor.php",
method:"POST",
data: {id_poly:id_poly},
success:function(data)
{
$("#doctor").html(data);
}
});
});
});
</script>
这是getdoctor.php的代码
$ouput ='';
$dok = mysqli_query($kon,"SELECT * FROM doctor WHERE id_poly = '".isset($_POST["id_poly"])."'") or die(mysqli_error($kon));
$output .= '<option value="" disabled selected>--Choose doctor--</option>';
if (mysqli_num_rows($dok)>0){
while ($row = mysqli_fetch_array($dok)) {
$output .= '<option value="'.$row["id_doctor"].'">'.$row["doctor"].'</option>';
}
}
echo $output;
1条答案
按热度按时间qacovj5a1#
不要尝试检查提交的值,并在同一步骤中将其注入到查询中。
isset()
是在构建查询之前执行的合理检查,以避免Notice
,但它只能true
或者false
. 这妨碍了你的查询。看看会发生什么。发回html不像在循环中处理json对象以生成新的html那样干净。
以下是我未经测试的建议代码:
PHP:
然后回到你的房间
success
功能: