За последние 24 часа нас посетили 58964 программиста и 1772 робота. Сейчас ищут 915 программистов ...

Календарь на php

Тема в разделе "Прочие вопросы по PHP", создана пользователем vvsh, 20 авг 2009.

  1. vvsh

    vvsh Активный пользователь

    С нами с:
    19 май 2009
    Сообщения:
    79
    Симпатии:
    0
    Адрес:
    Беларусь, Минск
    Здрасте, мне нужно сделать календарь вот такой:
    http://floomby.ru/content/w7HGP3KuJE/

    Может меня кто натолкнет на мысль, как именно можно сделать, чтобы он выводил правильную структуру месяца?
    заранее спасибо
     
  2. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Здрасте!
    Наработка старая, но работающая:
    PHP:
    1. <?php
    2. $thismonth = 8;
    3. $thisyear = 2009;
    4. $stamp = mktime(0, 0, 0, $thismonth, 1, $thisyear); //получаем timestamp нужного месяца
    5. $dmonth = date("t", $stamp); //Получаем количество дней в месяце
    6. $daystart = date("N", $stamp); //Получаем номер дня недели для 1 числа месяца
    7. $trs = ceil(($daystart - 1 + $dmonth)/7);
    8. $thisday = 1;
    9. $thistd = 1;
    10. $table = '<table>';
    11. for ($tr = 1; $tr <= $trs; $tr++) {
    12.     $table .= '<tr>';
    13.     for ($td = 1; $td <= 7; $td++) {
    14.         if ($thisday > $dmonth or $thistd < $daystart) {
    15.             $table .= '<td></td>';
    16.         }
    17.         else {
    18.             if (isset($concert[$thisday])) {
    19.                 $table .= '<td>'.$thisday;
    20.             }
    21.             else {
    22.                 $table .=  '<td>'.$thisday;
    23.             }
    24.             $table .= '</td>';
    25.             $thisday++;
    26.         }
    27.         $thistd++;
    28.     }
    29.     $table .= '</tr>';
    30. }
    31. echo $table.'</table>';
    Вот отсюда: http://joinmuse.ru/#concert
     
  3. vvsh

    vvsh Активный пользователь

    С нами с:
    19 май 2009
    Сообщения:
    79
    Симпатии:
    0
    Адрес:
    Беларусь, Минск
    спасибо огромное, я просто не знал про $stamp, date("t", $stamp), date("N", $stamp), спасибо огромноейшое.
     
  4. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    да, RTFM, оно никому нах не нужно... все хотят на форумах получить готовое. дебилы...