2016-10-31 2 views
1

Я хотел бы спросить, почему выпадающий список на месяц не соответствует тому, что сказал код? Выпадающий список должен показывать с сентября по октябрь.html выпадающий список на месяц

The screenshot image of the dropdown list

<select class="selectpicker" id="selectmonth" onchange="myFunction()"> 
    <option value="<?php echo date('m', strtotime('-1 month')) ?>"><?php echo date('F', strtotime('-1 month')) ?></option> 
    <option value="<?php echo date('m', strtotime('-2 month')) ?>"><?php echo date('F', strtotime('-2 month')) ?></option> 
    <option value="<?php echo date('m', strtotime('-3 month')) ?>"><?php echo date('F', strtotime('-3 month')) ?></option> 
    <option value="<?php echo date('m', strtotime('-4 month')) ?>"><?php echo date('F', strtotime('-4 month')) ?></option> 
    <option value="<?php echo date('m', strtotime('-5 month')) ?>"><?php echo date('F', strtotime('-5 month')) ?></option> 
    <option value="<?php echo date('m', strtotime('-6 month')) ?>"><?php echo date('F', strtotime('-6 month')) ?></option> 
    <option value="<?php echo date('m', strtotime('-7 month')) ?>"><?php echo date('F', strtotime('-7 month')) ?></option> 
    <option value="<?php echo date('m', strtotime('-8 month')) ?>"><?php echo date('F', strtotime('-8 month'))?></option> 
    <option value="<?php echo date('m', strtotime('-9 month')) ?>"><?php echo date('F', strtotime('-9 month')) ?> </option> 
    <option value="<?php echo date('m', strtotime('-10 month')) ?>"><?php echo date('F', strtotime('-10 month')) ?> </option> 
    <option value="<?php echo date('m', strtotime('-11 month')) ?>"><?php echo date('F', strtotime('-11 month')) ?> </option> 
    <option value="<?php echo date('m', strtotime('-12 month')) ?>"><?php echo date('F', strtotime('-12 month')) ?> </option> 
</select> 
+0

Указанная ссылка не работает. Можете ли вы включить скриншот в свой вопрос? – CyprUS

+0

Ссылка работает отлично для меня. Возможно, у вас проблемы с кешем. –

ответ

1

его сделали

 <select class="selectpicker" id="selectmonth" onchange="myFunction()"> 
         <option value="<?php echo date("m",strtotime("-1 Months",strtotime(date('01-m-Y')))) ?>"><?php echo date("F",strtotime("-1 Months",strtotime(date('01-m-Y')))) ?></option> 
         <option value="<?php echo date("m",strtotime("-2 Months",strtotime(date('01-m-Y')))) ?>"><?php echo date("F",strtotime("-2 Months",strtotime(date('01-m-Y')))) ?></option> 
         <option value="<?php echo date("m",strtotime("-3 Months",strtotime(date('01-m-Y')))) ?>"><?php echo date("F",strtotime("-3 Months",strtotime(date('01-m-Y')))) ?></option> 
         <option value="<?php echo date("m",strtotime("-4 Months",strtotime(date('01-m-Y')))) ?>"><?php echo date("F",strtotime("-4 Months",strtotime(date('01-m-Y')))) ?></option> 
         <option value="<?php echo date("m",strtotime("-5 Months",strtotime(date('01-m-Y')))) ?>"><?php echo date("F",strtotime("-5 Months",strtotime(date('01-m-Y')))) ?></option> 
         <option value="<?php echo date("m",strtotime("-6 Months",strtotime(date('01-m-Y')))) ?>"><?php echo date("F",strtotime("-6 Months",strtotime(date('01-m-Y')))) ?></option> 
         <option value="<?php echo date("m",strtotime("-7 Months",strtotime(date('01-m-Y')))) ?>"><?php echo date("F",strtotime("-7 Months",strtotime(date('01-m-Y')))) ?></option> 
         <option value="<?php echo date("m",strtotime("-8 Months",strtotime(date('01-m-Y')))) ?>"><?php echo date("F",strtotime("-8 Months",strtotime(date('01-m-Y'))))?></option> 
         <option value="<?php echo date("m",strtotime("-9 Months",strtotime(date('01-m-Y')))) ?>"><?php echo date("F",strtotime("-9 Months",strtotime(date('01-m-Y')))) ?> </option> 
         <option value="<?php echo date("m",strtotime("-10 Months",strtotime(date('01-m-Y')))) ?>"><?php echo date("F",strtotime("-10 Months",strtotime(date('01-m-Y')))) ?> </option> 
         <option value="<?php echo date("m",strtotime("-11 Months",strtotime(date('01-m-Y')))) ?>"><?php echo date("F",strtotime("-11 Months",strtotime(date('01-m-Y')))) ?> </option> 
         <option value="<?php echo date("m",strtotime("-12 Months",strtotime(date('01-m-Y')))) ?>"><?php echo date("F",strtotime("-12 Months",strtotime(date('01-m-Y')))); ?> </option> 
        </select> 
1

Я думаю, это потому, что месяц эквивалентно 30 дней в целом, и сегодня 31 октября. Технически 31-30 - 1 октября, и это действительно октябрь, когда вы эхо date('F', strtotime('-1 month')).

// while tested in http://sandbox.onlinephpfunctions.com/. Them seem to have Oct 31 as their system date 
<?php echo date('F', strtotime('first day -1 month'));?> //Outputs: October 
<?php echo date('F', strtotime('first day -2 month'));?> //Outputs: September 
<?php echo date('F', strtotime('first day -3 month'));?> //Outputs: August 

Try this:

<select class="selectpicker" id="selectmonth" onchange="myFunction()"> 
    <?php for($i=1;$i<13;$i++){ ?> 
    <option value="<?php echo date('m', strtotime("first day -$i month")) ?>"><?php echo date('F', strtotime("first day -$i month")) ?></option> 
    <?php }?> 
</select> 

Update Как я просматривать, я обнаружил следующее, как working solution:

<select class="selectpicker" id="selectmonth" onchange="myFunction()"> 
    <?php for($i=1;$i<13;$i++){ 
    $d=new DateTime('now'); 
    $d->modify("first day +1 day -$i month"); 
    ?> 
    <option value="<?php echo $d->format('m') ?>"><?php echo $d->format('F') ?></option> 
    <?php }?> 
</select> 
+0

сегодня - 30 октября –

+0

mine timezone говорит 31 октября: D –

+0

Это также зависит от времени сервера PHP, а не от машины пользователя. – kojow7