2012-08-07 51 views
-2

我正在嘗試列印選定的dropdwon項目。我已經編寫了用於下拉的代碼來從數據庫中獲取列。php下拉列印選定項目

現在我應該打印selcted下拉項目的唯一id。我不知道該怎麼做。請幫助我,這是我的代碼

<? 
$query_name="SELECT id_cat,name FROM `fs01_metier_cat` ORDER BY `fs01_metier_cat`.`name` ASC"; 
$result = mysql_query ($query_name); 

echo "<select name=category value=''></option>"; 
while($nt=mysql_fetch_array($result)) 
{ 
    echo "<option value=$nt[name]>$nt[name]</option>"; 
} 
echo "</select>"; 



$query_id="SELECT id_cat FROM `fs01_metier_cat`"; 
$result1 = mysql_query ($query_id); 
while($row = mysql_fetch_assoc($result1)) 
{ 
    echo $row['id_cat']; 
} 

?> 
+0

我沒有看到任何HTML輸出。你有什麼嘗試? – 2012-08-07 22:42:26

+0

我認爲你的意思是如果第一個下拉列表發生變化,你想更改第二個下拉列表的內容?如果是這樣,這是經常被問到,我會建議使用搜索,你會發現許多不同的描述如何做到這一點。 – hakre 2012-08-07 22:42:39

+0

使用javascript。或者,如果您只想使用PHP,只需將「

」標籤添加到自定義行爲和選擇下拉列表中,只需提交表單即可。 – Kalpesh 2012-08-07 22:46:56

回答

1

試試這個:

while($nt=mysql_fetch_array($result)){ 
    echo "<option value='{$nt['id_cat']}'>{$nt['name']}</option>"; 
} 

與{} PHP也可以將數組值轉換爲字符串,你應該設置'周圍的屬性「值」」 s值(很多值在這裏.. ^^),該html是w3c符合(我不知道如果瀏覽器會把它視爲正確沒有他們..)

沒有{}它看起來像這樣:

while($nt=mysql_fetch_array($result)) { 
    echo "<option value='".$nt['id_cat']."'>".$nt['name']."</option>"; 
} 

取決於你的編輯器代碼高亮或者在第二種情況下更好地工作;)

和有關所選項目:

我會建議你使用jQuery獲取所選項目的內容

var selectedId = $('#yourselectid option:selected').attr('value'); 

然後你可以例如其寫入文件或一個div:

document.write(selectedId); 

$('#yourDivIdWhereYouWantToPutTheSelectedId').html(selectedId); 

重要:請注意,我改變了值的指數id_cat因爲這樣你可以處理與選擇的ID

由於所選的選項每次更改您更改下拉選擇,您不能通過PHP來處理。有沒有像jQuery這樣的巨大庫的方法(因爲他們也只是簡單的Javascript),但他們簡化了這種事情很多;)

+0

不好意思!我已經用Internet Explorer和chrom進行了測試。它僅在dropdwon中打印列表。我想打印它是'id_cat'的名稱(從下拉菜單中選擇)。 – 2012-08-07 22:53:20

+0

對於案例2:很好的列出了下拉菜單中的一列的項目,但是在我選擇之後它不打印id_cat編號!不管怎樣,謝謝你! – 2012-08-07 22:56:31

+0

謝謝Jquery的建議!但我不知道我在哪裏必須保持jQuery庫文件!我可以將jquery庫文件保存在我的工作文件的相同位置嗎? – 2012-08-07 23:05:22