2017-05-17 1 views
0
<?php 

echo '<select name="fromYear"'; 
$starting_year =date('Y', strtotime('-1 year')); 
$current_year = date('Y'); 
$ending_year = date('Y', strtotime('+10 year')); 

for($starting_year; $starting_year <= $ending_year; $starting_year++) { 
    echo '<option value="'.$starting_year.'"'; 
    if($starting_year == $current_year) { 
      echo ' selected="selected"'; 
    } 
    echo ' >'.$starting_year.'</option>'; 
}    
echo '<select>'; 
?> 

を開始し、現在の年を示しています。2017PHPのドロップダウン - こんにちは、私は今年から2017</p> <p>から始まるthis..toショー現在の年と前年を変更するにはどのようにこのコードを持っている2017年から

中を2017:2017、2018

2019:2017、2018、2019

私だけ

2018ドロップダウンで2017が表示されます

2020:2017、2018、2019、2020

と、以下のようにように...

+0

あなたは常に2017からのドロップダウンでリストを開始しますか?もしそうなら、$ starting_yearを2017に初期化してみませんか? – ayip

+0

はい..i修正するのを忘れました – sabahan

答えて

1

使用do whileは現在の年のために開始するには:

<?php 
    $starting_year = 2017; 
    $current_year = date('Y')*1; 
    echo '<select name="years">'; 
    echo '<option>Select</option>'; 
    do { 
     echo '<option value="'.$starting_year.'">'.$starting_year.'</option>'; 
     $starting_year++; 
    } 
    while ($current_year >= $starting_year); 
    echo '</select>'; 

    ?> 

オンラインDemo

からPHP公式ドキュメント:

do-while l oopsはwhileループと非常に似ていますが、 の開始ではなく、各繰り返しの最後に真偽が確認されます。通常のwhileループとの主な相違点は、 do-whileループの最初の反復がであることが保証されていることです。 の式は反復の終わりにチェックされます。 は必ずしも定期的なループ...

+1

ありがとうございました – sabahan

関連する問題