2013-03-03 71 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