在选择值时对数据库运行查询


Run a query on database on selecting a value

你好,我已经用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>&nbsp;Doctor's Name&nbsp;</td>
    <td>&nbsp;<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 页面,然后通过响应,您应该填充下一个下拉列表。为此,您应该 您需要在两个表之间进行关联