Вход Регистрация
»

Название : PHP календарь: скрипт календаря для сайта на PHP + HTML + CSS


» Описание: Одним из важных элементов на сайте является календарь, с помощью которого ваши пользователи могут от
» Добавил: * ArRoW
» Время добавления: 24 Апр 2014 в 18:12
» Посмотров: 1037
» textarea
» Рейтинг: [+2 | -0]
Комментарии [0]
  1. /* Функция генерации календаря */
  2. function draw_calendar($month,$year){
  3. /* Начало таблицы */
  4. $calendar = '<table cellpadding="0" cellspacing="0" class="calendar">';
  5. /* Заглавия в таблице */
  6. $headings = array('Понедельник','Вторник','Среда','Четверг','Пятница','Субота','Воскресенье');
  7. $calendar.= '<tr class="calendar-row"><td class="calendar-day-head">'.implode('</td><td class="calendar-day-head">',$headings).'</td></tr>';
  8. /* необходимые переменные дней и недель... */
  9. $running_day = date('w',mktime(0,0,0,$month,1,$year));
  10. $running_day = $running_day - 1;
  11. $days_in_month = date('t',mktime(0,0,0,$month,1,$year));
  12. $days_in_this_week = 1;
  13. $day_counter = 0;
  14. $dates_array = array();
  15. /* первая строка календаря */
  16. $calendar.= '<tr class="calendar-row">';
  17. /* вывод пустых ячеек в сетке календаря */
  18. for($x = 0; $x < $running_day; $x++):
  19. $calendar.= '<td class="calendar-day-np"> </td>';
  20. $days_in_this_week++;
  21. endfor;
  22. /* дошли до чисел, будем их писать в первую строку */
  23. for($list_day = 1; $list_day <= $days_in_month; $list_day++):
  24. $calendar.= '<td class="calendar-day">';
  25. /* Пишем номер в ячейку */
  26. $calendar.= '<div class="day-number">'.$list_day.'</div>';
  27. /** ЗДЕСЬ МОЖНО СДЕЛАТЬ MySQL ЗАПРОС К БАЗЕ ДАННЫХ! ЕСЛИ НАЙДЕНО СОВПАДЕНИЕ ДАТЫ СОБЫТИЯ С ТЕКУЩЕЙ - ВЫВОДИМ! **/
  28. $calendar.= str_repeat('<p> </p>',2);
  29.  
  30. $calendar.= '</td>';
  31. if($running_day == 6):
  32. $calendar.= '</tr>';
  33. if(($day_counter+1) != $days_in_month):
  34. $calendar.= '<tr class="calendar-row">';
  35. endif;
  36. $running_day = -1;
  37. $days_in_this_week = 0;
  38. endif;
  39. $days_in_this_week++; $running_day++; $day_counter++;
  40. endfor;
  41. /* Выводим пустые ячейки в конце последней недели */
  42. if($days_in_this_week < 8):
  43. for($x = 1; $x <= (8 - $days_in_this_week); $x++):
  44. $calendar.= '<td class="calendar-day-np"> </td>';
  45. endfor;
  46. endif;
  47. /* Закрываем последнюю строку */
  48. $calendar.= '</tr>';
  49. /* Закрываем таблицу */
  50. $calendar.= '</table>';
  51.  
  52. /* Все сделано, возвращаем результат */
  53. return $calendar;
  54. }
  55. /* СПОСОБ ПРИМЕНЕНИЯ */
  56. echo '<h2>Июнь 2012</h2>';
  57. echo draw_calendar(6,2012);
Онлайн: 2
Реклама