2013-02-25 82 views
3

我已經在php中創建了一個配置文件頁面,其中用戶使用html下拉列表選擇性別。下拉列表保留上一個選定的值在php

的HTML代碼如下:

Gender<select name="gender"> 
    <option value=" "> EMPTY </option> 
    <option value="Male">Male</option> 
    <option value="Female">Female</option> 
</select> 

用戶選擇性別的形式分派和數據保存到數據庫之後。我想要的只是下次用戶訪問配置文件頁面時,下拉列表中保留用戶之前選擇的值。例如,如果用戶在下拉列表中選擇「男性」,則下次訪問個人資料頁面進行更改時,下拉列表必須將「男性」顯示爲選定值(與先前時間保持一致)。任何想法如何在PHP中做到這一點?

+0

您可以使用javascript將選項設置爲選定狀態。 – Eugen 2013-02-25 17:08:14

+0

我嘗試了2個答案,我得到了波紋管...但仍然不工作 – 33528 2013-02-26 15:54:23

+0

@Stefanos - 什麼是您的代碼的完整?你可以把它放入pastebin嗎? – 2013-03-01 20:19:19

回答

2

你需要做的是給selected屬性的選項。假設你存儲在會話檔案信息,讓您的服務器上啓用短的標籤,你可以做這樣的事情:

Gender: <select name="gender"> 
    <option value=" "> Not Selected </option> 
    <option value="Male"<?=$_SESSION['gender'] == "Male" ? ' selected="selected"' : ''?>>Male</option> 
    <option value="Female"<?=$_SESSION['gender'] == "Female" ? ' selected="selected"' : ''?>>Female</option> 
</select> 
3

必須讀取數據庫,並添加一個PHP腳本,如:

<option value="Male" <?php 
if ($gender == "Male") { echo " selected"; } 
?>>Male</option> 
<option value="Female" <?php 
if ($gender == "Female") { echo " selected"; } 
?>>Female</option> 
4

有,如果你使用的是形式要做到這一點相當簡單的方式。另外,如果是第一次訪問該頁面,您可能需要使用isset()。

<select name="gender"> 
    <option value="male" <?php echo isset($_GET["gender"]) && $_GET["gender"] == "male" ? "selected" : "" ?>>Male</option> 
    <option value="female" <?php echo isset($_GET["gender"]) && $_GET["gender"] == "female" ? "selected" : "" ?>>Female</option> 
</select> 

這一切確實是,如果$ _ GET變量被設置,最後一個是具體的選項自動插入「選擇」進入選項標籤。希望這可以幫助!