Поле SELECT HTML просмотр предыдущий Месяц, текущий и следующий только


мне нужно сделать поле SELECT, которое сегодня так (код ниже) был обозначен только месяц, предыдущий, текущий и следующий. Например, Как мы в МАЕ месяце, то будет показывать в select (html) только в АПРЕЛЕ-МАЕ и в ИЮНЕ, и по мере продвижения месяцев выведет МАЕ, ИЮНЕ и ИЮЛЕ....

и Я взяв системы готовы изменить здесь, на этапе, который я в настоящее время код выглядит так:

<select class="form-control" style="width: 200px;" name="Mes" id="Mes" onblur="verificaDataBaixaBoleto();">
                                <?php

                                $y = date('n'); // Mês 1 a 12

                                    if($this->mes){
                                        $mesatual = $this->mes;
                                    }
                                    for($x=1;$x<=12;$x++){
                                        $mes = $x;
                                        echo "<option";
                                        if($x == $mesatual){
                                            echo " selected='selected'";
                                        }
                                        echo " value='";
                                        echo $mes;
                                        echo "'>";

                                        if($x == 1){
                                            echo "Janeiro";
                                        }
                                        if($x == 2){
                                            echo "Fevereiro";
                                        }
                                        if($x == 3){
                                            echo "Março";
                                        }
                                        if($x == 4){
                                            echo "Abril";
                                        }
                                        if($x == 5){
                                            echo "Maio";
                                        }
                                        if($x == 6){
                                            echo "Junho";
                                        }
                                        if($x == 7){
                                            echo "Julho";
                                        }
                                        if($x == 8){
                                            echo "Agosto";
                                        }
                                        if($x == 9){
                                            echo "Setembro";
                                        }
                                        if($x == 10){
                                            echo "Outubro";
                                        }
                                        if($x == 11){
                                            echo "Novembro";
                                        }
                                        if($x == 12){
                                            echo "Dezembro";
                                        }

                                        echo "</option>";

                                    }
                                ?>
                        </select>

пытался сделать некоторые для сравнения, что бы можно было просмотреть, только то, что я думаю, что пропустил меня в логике.

Author: phpricardo, 2015-05-22

2 answers

Видите ли, этот код поможет :)

//FUNCAO PARA ESCREVER MES POR EXTENSO
function mesExtenso($mes){
    if($mes == '01'){echo 'JANEIRO';}
    if($mes == '02'){echo 'FEVEREIRO';}
    if($mes == '03'){echo 'MARCO';}
    if($mes == '04'){echo 'ABRIL';}
    if($mes == '05'){echo 'MAIO';}
    if($mes == '06'){echo 'JUNHO';}
    if($mes == '07'){echo 'JULHO';}
    if($mes == '08'){echo 'AGOSTO';}
    if($mes == '09'){echo 'SETEMBRO';}
    if($mes == '10'){echo 'OUTUBRO';}
    if($mes == '11'){echo 'NOVEMBRO';}
    if($mes == '12'){echo 'DEZEMBRO';}
    echo "<br>";
}

//VERIFICANDO MES PASSADO
$mes_passado = new DateTime();
$mes_passado->modify('-1 months');
mesExtenso($mes_passado->format('m'));

//VERIFICANDO MES ATUAL
$mes_atual = new DateTime();
mesExtenso($mes_atual->format('m'));

//VERIFICANDO PROXIMO MES
$mes_futuro = new DateTime();
$mes_futuro->modify('+1 months');
mesExtenso($mes_futuro->format('m'));

, Как мы в Мае, этот код возвращает:

ABRIL
MAIO
JUNHO
 1
Author: Dirty Old Man, 2015-05-22 12:35:14

Для отображения только три месяца(предыдущий, текущий и следующий), вы можете создать массив с range (), которая начинается с текущего месяца мере один и до текущего месяца, еще два, уже распечатать месяц прописью используйте locale и strftime() вместе.

Пример ideone.

 0
Author: rray, 2015-05-22 12:34:53