2012-02-01 37 views
2

開始我有以下值(一年中的月份)選擇框選擇框:PHP創建從當月

<label for="select_month">Month: </label> 
<select id="select_month" name="month"> 
<option value="01">01</option> 
<option value="02">02</option> 
<option value="03">03</option> 
<option value="04">04</option> 
<option value="05">05</option> 
<option value="06">06</option> 
<option value="07">07</option> 
<option value="08">08</option> 
<option value="09">09</option> 
<option value="10">10</option> 
<option value="11">11</option> 
<option value="12">12</option> 
</select> 

我想實現是用PHP來得到當前月,在我的選擇框中將它作爲默認選擇的選項。

我如何能做到這一點用乾淨的代碼?

+0

沒什麼實際。無論發生在我腦海中的事情看起來都很糟 – 2012-02-01 23:51:04

+3

發表你試過的東西。這不是一個要求免費編碼的網站。人們願意幫助,但你必須付出努力。 – 2012-02-01 23:52:24

+2

從您的其他問題來看,您可能需要獲得一個基本的PHP書籍或做一些在線教程... – cwd 2012-02-01 23:56:09

回答

4
for ($i = 1; $i <= 12; $i++) 
(
    $month = ($i < 10) ? '0'.$i : $i; 
    echo '<option value="'.$month.'"'; 
    if ($i == date("n")) echo ' selected="selected"'; 
    echo '>'.$month.'</option>'; 
) 

我不能測試這個,因爲我在我的手機上,但這應該會有訣竅。

0
<option value="01" <?php echo (1 == date("n") ? 'selected="selected"' : ''); ?>>01</option> 

這將不得不爲每個選項 - for循環可能會很好在這種情況下。

+0

什麼是循環?我怎麼做?抱歉,我對這種事情很陌生。 – 2012-02-01 23:56:24

+1

我支持我上面的評論... – cwd 2012-02-01 23:57:53

2

也許這樣的事情?

<select name="month"> 
<?php foreach(range('1', '12') as $m) : ?> 
    <option value="<?php echo $m; ?>" <?php if (date('n') == $m) { echo 'selected="selected"'; } ?>> 
     <?php echo $m ?> 
    </option> 
<?php endforeach; ?> 
</select> 
1

這裏是我的兩分錢:

<label for="select_month">Month: </label> 
<select id="select_month" name="month"> 

<?php 

for($i = 1; $i <= 12; $i++) { 
    $isCurrentMonth = ($i == intVal(date("m"))) ? 'true': 'false'; 
    echo "<option value=\"$i\" selected=\"$isCurrentMonth\">$i</option>\n"; 
} 

?> 

</select> 
1

使用了類似的結構,普拉特的答案,但使用兩位數月份值(就像你在你的例子有)。它使用日期(「M」),而不是日期(「N」),並由於沒有出現任何的方式來獲得前導零在PHP範圍內,我用了一個數組。

<select name="month"> 
<?php foreach(array('01','02','03','04','05','06','07','08','09','10','11','12') as $m) : ?> 
    <option value="<?php echo $m; ?>" <?php if (date('m') == $m) { echo 'selected="selected"'; } ?>> 
     <?php echo $m ?> 
    </option> 
<?php endforeach; ?> 
</select>