簡體   English   中英

PHP創建從當月開始的選擇框

[英]PHP Creating select box starting from current month

我有一個選擇框,其中包含以下值(一年中的幾個月):

<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當前月份,並將其作為我選擇框中的默認選擇選項。

我怎么能用干凈的代碼做到這一點?

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>';
)

我無法測試這個,因為我在手機上,但這應該可以解決問題。

也許是這樣的?

<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>

這是我的兩分錢:

<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>

使用與Pratt的答案類似的結構,但使用兩位數的月份值(就像您在示例中所做的那樣)。 它使用日期('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>
<option value="01" <?php echo (1 == date("n") ? 'selected="selected"' : ''); ?>>01</option>

這必須針對每個選項進行 - 在這種情況下for循環可能會很好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM