2012-09-05 285 views
-1

所以我有3個表,2與數據和1通過外鍵連接其他2。 這件事情是這樣的:默認選擇下拉菜單在php

student(ID_stud, etc) 
specialization(ID_spec,spec_name) 
study(ID_stud,ID_spec, etc) 

現在我在一個Edit.php菜單的工作(我做了列表中添加菜單),我需要在下拉菜單專業化從價值MySQL的已選定

這裏是我做了這麼遠,但我只得到選擇的重演n次

<select name="specialization" type="text"> 
     <?php 
     $specialization=$_POST['specialization']; 
     $list_spec=mysql_query("SELECT * FROM specialization, study, student WHERE $ID_stud=study.ID_stud and specialization.ID_spec=study.ID_spec "); 
     $array_spec=mysql_fetch_array($list_spec); 
     while ($array_spec = mysql_fetch_array($list_spec)){?> 
     <option selected="<? echo $array_spec['ID_spec'] ?>"><?php echo $array_spec['spec_name'];?></option> 
     <?php }?> 
     </select> 
+1

請不要使用'mysql_ *'功能,它棄用(見[*紅框*](http://php.net/manual/en/function。 mysql-query.php))並且容易受到sql注入的影響。使用[* PDO *](http://php.net/manual/en/book.pdo.php)或[* MySQLi *](http://php.net/manual/en/book.mysqli.php) 。 – alfasin

+0

我不擔心這個問題,因爲它是一個項目,它不會結束在網絡上,所以我儘量保持它儘可能簡單 – Vlad

+1

很難改變不良習慣,爲什麼不使用PDO或MySQLi,即使它是爲了一個專案 ?至於你的問題,你應該發佈查詢的輸出。 – alfasin

回答

0

你只需要設置selected屬性上所選擇的項目正確的值。所有其他人將不具有selected屬性。這個屬性的值並不重要。

事情是這樣的:

<option <? if(isSelected) echo 'selected' ?>><?php echo $array_spec['spec_name'];?></option>