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 } ?>
4

4 に答える 4

4

$i最初の年が 2013 + 1 ではなく 2013 + 0 になるように、0 から開始する必要があります。

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

forさらに良いことに、ループを使用します。

<? for ($year = date("Y"); $year < date("Y") + 10; ++$year) { ?>
  <option value="<?= $year ?>"><?= $year ?></option>
<? } ?>
于 2013-01-21T18:41:37.030 に答える
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++; } ?>
于 2013-01-21T18:41:01.580 に答える
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>
于 2013-01-21T18:43:31.303 に答える
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 =@ $years[$i++]) {
    printf("<option value=\"%d\">%d</option>\n", $year, $year);
}
于 2013-01-21T18:58:38.723 に答える