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]   

> Описание: Даты в БД лежат
darksmoke
Отправлено: 16 Сентября, 2014 - 10:21:37
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Сент. 2014  


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




Добрый день
не как не могу решить задачу. Есть в базе данные
damp (Отобразить)

Каждый день добавляется запись.
Хочу в результате получить такой вид

2014
Январь 1 | 2 | 3 | 4 | 5 | 6 ..
Февраль 1 | 2 | 3 | 4 | 5 | 6 ..
...
2015
Январь 1 | 2 | 3 | 4 | 5 | 6 ..
Февраль 1 | 2 | 3 | 4 | 5 | 6 ..
 
 Top
Sail
Отправлено: 16 Сентября, 2014 - 15:23:44
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


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




darksmoke, гляньте этот примерчик:
PHP:
скопировать код в буфер обмена
  1.  
  2. // формируем тестовый массив с датами в виде строк, какими они могут быть получены из БД
  3. $arr = array();
  4. $date1 = new DateTime('2014-01-01');
  5. while($date1->format('Y-m-d') < '2015-12-31') {
  6.     $arr[] = $date1->format('Y-m-d');
  7.     $date1 = $date1->modify('1 day');
  8. }
  9. // далее, имея массив с датами выводим "календарик"
  10. $day = $month = $year = 0;
  11. $date = new DateTime();
  12. foreach($arr as $value) {
  13.     $date = DateTime::createFromFormat('Y-m-d', $value);
  14.     if($year !== $date->format('Y')) {
  15.         $year = $date->format('Y');
  16.         echo '<br>'.$year;
  17.     }
  18.     if($month !== $date->format('m')) {
  19.         $month = $date->format('m');
  20.         echo '<br>'.$date->format('F').' ';
  21.     }
  22.     if($day !== $date->format('d')) {
  23.         $day = $date->format('d');
  24.         echo $date->format('d').' | ';
  25.     }
  26. }
  27.  

(Отредактировано автором: 16 Сентября, 2014 - 16:06:25)

 
 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