Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Определение четной/нечетной недели

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: PHP-скрипт сбивается в новом году
dim565
Отправлено: 16 Июля, 2011 - 20:26:10
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Июль 2011  


Помог: 0 раз(а)




Здравствуйте. Есть JS-код, который отображает числитель-знаменатель текущей недели (начало рассчета - понедельник).
Код рабочего JS-скрипта (Отобразить)
Главный его минус - дата берется из часов пользователя, а я бы предпочел вариант, когда время берется с часов сервера хостинга. Поэтому стал искать подобный скрипт на языке PHP.

Нашел такой, чуть переделал, чтобы было только числитель-знаменатель, а не 4 варианта. Вышло вот так:
PHP:
скопировать код в буфер обмена
  1. <?
  2. $siteglobal['insert']['week'] = '';
  3. $start = 2;
  4. $day = date("z");
  5. $stat=1;
  6. for( $i=$day-$start; $i>6 ; $i-=7){
  7.      $stat++;
  8. }
  9. $i=1;
  10. for( $i=$stat; $i>2; $i-=2){}
  11. $siteglobal['insert']['week'] = "Сегодня: ".date("j.m.Y")."<br />";
  12. switch($i){
  13.      case 1:  $siteglobal['insert']['week'].= "числитель"; break;
  14.      case 2:  $siteglobal['insert']['week'].= "знаменатель"; break;
  15.      default: $siteglobal['insert']['week'].= "Неизвестная ошибка!";
  16. }
  17.  
  18. echo $siteglobal['insert']['week'];
  19. ?>

Работает нормально, но только до 2012 года. Например, 31 Декабря 2011 года - суббота - показывает знаменатель. 1 Января 2012 года показывает числитель, хотя неделя еще не закончилась. И дальше смена недели начинается всегда во вторник.
Да, через $start можно подредактировать это, но первый скрипт (JS) работает без проблем в новом году.

Таким образом вопрос: можно ли как-то избавиться от необходимости менять $start каждый год? Может у кого есть более продвинутый PHP-скрипт?

(Отредактировано автором: 16 Июля, 2011 - 20:26:29)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Хранение данных, их вывод и обработка »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB