2013-03-03 55 views
0

我试图使用两个查询来为每位医生设置多个下拉菜单。到目前为止,这工作,但不幸的是只拉项目。虽然循环只为每个客户端创建一个下拉框(PHP/MySQL)

我希望在下拉列表中提供所有'expertises'(以及专家ID作为选项值)。

我已经设置了下面的while循环,但是我没有成功为每个Client_ID生成下拉菜单。

第一个查询(下)从区域

$client_id = $_GET['doc_id']; 
$physician_id_expertise = $client_id; 

$doctor_query = 'SELECT * '; 
$doctor_query.= 'FROM `primarycare_expertise` '; 
$doctor_query.= 'WHERE `physician_id`=' . $client_id . ' '; 
$doctor_result = mysql_unbuffered_query($doctor_query); 

的拉动客户端ID而循环结合了第二查询,其建立的下拉(提拉中的所有的专业知识'值)。

while ($doctor_row = mysql_fetch_array($doctor_result)) 
{ 
    echo "<select name='doc_id_expertise_" . $doctor_row['pe_id'] . "' id='doc_id_expertise_" . $doctor_row['pe_id'] . "'>"; 

    $expert_query = 'SELECT * FROM `expertise` '; 
    $expert_result = mysql_unbuffered_query($expert_query); 

    while ($expert_row = mysql_fetch_array($expert_result)){ 
     if($doctor_row['expertise_id'] == $expert_row['expertise_id']) 
     { 
      $selected = "selected"; 
     } else { 
      $selected = ""; 
     } 
     echo "<option $selected value=" . $expert_row['expertise_id'] . ">" . $expert_row['expertise'] . "</option>"; 
    } 

    echo "</select>"; 
    echo "<br />"; 
} 

如果你们中的任何一位能够帮助我,我会非常感激!感谢您的时间!

回答

1

您正在发送新的查询,同时通过前一个查询的无缓冲结果进行迭代。这不起作用。尝试使用mysql_query代替mysql_unbuffered_query像这样第一个查询:

$doctor_result = mysql_query (
    "SELECT * FROM primarycare_expertise WHERE physician_id='$client_id'"); 

对于你仍然可以使用mysql_unbuffered_query,因为它们不重叠后续查询。

有关详细信息,请参阅以下page

+0

谢谢你,这工作完美。我一直在使用'无缓冲'的大部分查询,忘记改变这个。再次感谢你。 – 2013-03-03 10:52:14

相关问题