0

私は現在の年を印刷するためにこの機能を持っていますselect boxが、option valueとは異なりoption textます。つまり、選択した現在の年valueは 2013 年ですが、html text output2012 年です。これを修正するにはどうすればよいですか?

PHP:

<select name="year">
    <?php
    for($i=date("Y")-5;$i<=date("Y");$i++) {
        $sel = ($i == date('Y')) ? 'selected' : '';
        echo "<option value=".$i." ".$sel.">".date("Y", mktime(0,0,0,0,1,$i))."</option>";
    }
    ?>
</select>

出力:

<select name="year">
    <option value=2008 >2007</option>
    <option value=2009 >2008</option>
    <option value=2010 >2009</option>
    <option value=2011 >2010</option>
    <option value=2012 >2011</option>
    <option value=2013 selected>2012</option>
</select>
4

3 に答える 3

3

良い方法ではないかもしれませんが、追加するだけ+1です$i:

<select name="year">
    <?php
    for($i=date("Y")-5;$i<=date("Y");$i++) {
        $sel = ($i == date('Y')) ? 'selected' : '';
        echo "<option value=".$i." ".$sel.">".date("Y", mktime(0,0,0,0,1,$i+1))."</option>"; // change This Line
    }
    ?>
</select>

オンラインデモはこちら

于 2013-09-28T17:56:58.460 に答える
0

値の印刷に関する問題

<select name="year">
    <?php
    for($i=date("Y")-5;$i<=date("Y");$i++) {
        $sel = ($i == date('Y')) ? 'selected' : '';
        echo "<option value=".$i." ".$sel.">".$i."</option>";  // here I have changed      
    }
    ?>
</select>
于 2013-09-28T17:15:49.070 に答える