你好,我已经用php填充了一个下拉列表。
它看起来像这样:-
$con=mysqli_connect("localhost","clinic","myclinic","myclinic");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$query="SELECT DISTINCT doctor FROM schedule";
$result = mysqli_query($con, $query);
echo "<br><br>
<table border='1'><tr>
<td> Doctor's Name </td>
<td> <select name='doctor'>";
while($row = mysqli_fetch_array($result))
{
echo "<option value='" . $row['doctor'] . "'>" . $row['doctor'] ."</option>";
}
echo "</select>";
现在我的页面上还有几个下拉列表。我想在从列表中选择医生时运行脚本例如,在选择医生时,列表天数应填充医生有空的天数。执行查询
SELECT days from appointments WHERE doctor="One who was selected";
我怎样才能做到这一点?
谢谢
亲爱的你
好,你必须使用ajax只需按照以下步骤操作
1) 为"选择医生"下拉列表创建代码。
2)更改这些下拉列表调用一个由AJAX脚本组成的jQuery函数,以从其他PHP页面获取天数。
3)在其他页面上从请求中检索医生ID,并根据doc_id获取天数并生成天数下拉列表。
4)现在,当用户更改下拉列表ajax被调用时,您将获得几天的下拉列表,将其放置在innerHTML的某个div中。
你可以通过ajax和php的组合来做到这一点。假设我有另一个下拉菜单显示医生可用的总天数
<select id = "days"><option value="">Select</option></select>
现在在医生下拉列表中添加一个更改事件
$("#doctor").change(function(){
// make a ajax call and retrieve days and populate days drop down accordingly
$.ajax({ url: url, success: function(data){
$("#days).empty(); //clear existing options
$(data).each(function(i,v){
$(#doctor).append(new Option(v,v);
}); });
});
假设数据是 ajax 返回的数组
我认为当您选择 第一个下拉列表中的值,应使用查询字符串发送此值 到 PHP 页面,然后通过响应,您应该填充下一个下拉列表。为此,您应该 您需要在两个表之间进行关联