2011-10-31 85 views
1

我有這個下拉,我需要顯示年。我想先顯示先前選擇的選擇。我用這下面的,但它顯示我一個空白,而不是選擇值...如何首先回顯選定的選項值?

代碼:

<select name="year"> 
<option selected value="<?php echo $previousyear;?>"> 
<?php for($i=date('Y'); $i>=1900; $i--) 
    echo "<option value='$i' ".(($i == date('Y')?'selected="selected"':''))."> 
$i</option>"; 
?> 
</select></td> 
    </tr> 
+0

退房此,其類似http://stackoverflow.com/questions/4511590/php-how-can-i-保的選擇選項 - 從-A-下拉到住宿選擇上,SUBM – dansasu11

回答

2

這是你需要什麼樣的代碼替換:

<?php for($i=date('Y'); $i>=1900; $i--) 
    echo "<option value='$i'>$i</option>"; 
?> 
+0

它的工作!謝謝! – AAA

1

你失蹤後第一個選項</option>,你輸出$ previousyear,所以你「再結束了產生:

<option selected value="XXX"><option value="2011" selected="selected">2011</option> 
          ^---missing </option> 

現在,您已經有了選擇的選項,而最有可能的$ previousyear是空的,造成‘空’選項。

+0

確定我得到了$變量顯示,但被選中它不是一個。它仍然顯示2011:這是我做過什麼:<選項選定值= 「<?PHP的echo $ previousyear;>」 選擇= 「選擇」><?PHP的echo $ previousyear;> – AAA

+0

其行不通的,因爲如果你看一下我的查詢回聲 「<期權價值= '$ I'」(($ I ==日期( 'Y') '選擇= 「選擇」': ''))。「> $ I「;已選擇。我如何刪除選定的查詢來運行? – AAA

+1

你想要做的是去除與前一年第一個「硬編碼」選項,讓您在環比是'什麼了($ I == $ previousYear)'代替。輸出兩個不同的選項沒有意義,它在同一年 –

1

您可以提交您的當前選擇作爲GET查詢,並使用它。

if (isset($_GET['current'])) { 
     $previousyear = $_GET['current']; 
    } 

<select name="year"> 
<option selected value="<?php echo $previousyear;?>">