2013-01-21 74 views
2

我正在嘗試更改信用卡表格上的年份。目前它只顯示2014 - 2022年。我「米試圖改變這一年配方在2013年更改信用卡表格的年份

<?php $year = date ("Y"); $i = 1;?> 
      <option value="" selected="selected">Please Select a Year</option> 
      <?php while($i < 10) { $year += 1; $i++;?> 
      <option value="<?=$year?>"> 
      <?=$year?> 
      </option> 
      <?php } ?> 
+0

'$ year = date(「Y」) - 1;' - 是什麼阻礙你做**明顯**? – hakre

回答

1
開始

移動你的櫃檯您的循環結束:

<?php $year = date ("Y"); $i = 1;?> 
<option value="" selected="selected">Please Select a Year</option> 
<?php while($i < 10) { ?> 
<option value="<?=$year?>"> 
<?=$year?> 
</option> 
<?php $year += 1; $i++; } ?> 
+0

謝謝!非常感謝 – Suno360

4

$i需要從0開始,這樣的第一年是2013 + 0,而不是2013 + 1

<?php $year = date ("Y"); $i = 0;?> 

更好的是,使用一個for循環:

<? for ($year = date("Y"); $year < date("Y") + 10; ++$year) { ?> 
    <option value="<?= $year ?>"><?= $year ?></option> 
<? } ?> 
0

這只是使用for循環與年作爲櫃檯。

<option value="" selected="selected">Please Select a Year</option> 
<?php for($year = (int)date("Y"); $year < ((int)date("Y"))+10; $year++): ?> 
    <option value="<?=$year?>"><?=$year?></option> 
<?php endfor; ?> 
</option> 
+0

非常感謝! – Suno360

0

另一種方法;

$years = range(date('Y'), date('Y') + 10); 
while ($year = array_shift($years)) { 
    printf("<option value=\"%d\">%d</option>\n", $year, $year); 
} 
// or 
$years = range(date('Y'), date('Y') + 10); $i = 0; 
while ($year [email protected] $years[$i++]) { 
    printf("<option value=\"%d\">%d</option>\n", $year, $year); 
}