Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
TemKa_SD

Помогите с условием

Рекомендованные сообщения

Здравствуйте. Не могу сообразить.

 

У меня есть year и month в разных полях, вот это рабочий код для month, мне нужно добавить еще для года так же.

 

Если выбран только месяц, отображать текущий год и выбранный месяц.

Если выбран только год, отображать текущий месяц и выбранный год.

Если выбран и месяц и год, отображать и месяц и год.

 

Такие же условия должны быть?

 

        if ( isset( \IPS\Request::i()->month ) and isset( $months[ \IPS\Request::i()->month ] ) )
       {
           $sqlCurrentDate = " AND year='" . $yearNow . "' AND month='" . $months[ \IPS\Request::i()->month ] . "' ";
       }
       else if ( isset( $year ) AND isset( $month ) )
       {
           \IPS\Request::i()->month = $monthNow;
           \IPS\Request::i()->year = $yearNow;
           $sqlCurrentDate = " AND year='" . $yearNow . "' AND month='" . $monthNow . "' ";
       }

Поделиться сообщением


Ссылка на сообщение

Как правильно сделать 3 условие?

 

        // Если выбран только месяц.
       if ( isset( \IPS\Request::i()->month ) and isset( $months[ \IPS\Request::i()->month ] ) )
       {
       	\IPS\Request::i()->year = $yearNow;
           $sqlCurrentDate = " AND year='" . $yearNow . "' AND month='" . $months[ \IPS\Request::i()->month ] . "' ";
       }
       // Если выбран только год.
       else if ( isset( \IPS\Request::i()->year ) and isset( $years[ \IPS\Request::i()->year ] ) )
       {
       	\IPS\Request::i()->month = $monthNow;
           $sqlCurrentDate = " AND month='" . $monthNow . "' AND year='" . $years[ \IPS\Request::i()->year ] . "' ";
       }
       // Если выбран и месяц и год.
       else if (  )
       {

       }
       // Если ничего не выбрано, текущие год и месяц.
       else if ( isset( $year ) AND isset( $month ) )
       {
           \IPS\Request::i()->month = $monthNow;
           \IPS\Request::i()->year = $yearNow;
           $sqlCurrentDate = " AND year='" . $yearNow . "' AND month='" . $monthNow . "' ";
       }

Поделиться сообщением


Ссылка на сообщение

Если у Вас в WHERE есть и год и месяц, то смысл городить огород с if/else

 

\IPS\Request::i()->month = isset($months[\IPS\Request::i()->month]) ? $months[\IPS\Request::i()->month] : $monthNow;
\IPS\Request::i()->year = isset($years[\IPS\Request::i()->year]) ? $years[\IPS\Request::i()->year] : $yearNow;

 

$sqlCurrentDate = здесь уже используете \IPS\Request::i()->month и \IPS\Request::i()->year

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

Спасибо, всё супер.

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...