Как создать календарь на PHP: 7 шагов (с изображениями)

Оглавление:

Как создать календарь на PHP: 7 шагов (с изображениями)
Как создать календарь на PHP: 7 шагов (с изображениями)

Видео: Как создать календарь на PHP: 7 шагов (с изображениями)

Видео: Как создать календарь на PHP: 7 шагов (с изображениями)
Видео: Настройка ssh на CentOS 2024, Апрель
Anonim

В этой статье вы узнаете, как сделать календарь на PHP. Здесь перечислены некоторые бесплатные скрипты календаря php. Или вы можете прямо на сайте PHPKode.com для получения дополнительных бесплатных руководств по PHP.

Шаги

Создание календаря на PHP, шаг 1
Создание календаря на PHP, шаг 1

Шаг 1. Соберите необходимую информацию, которая важна для отображения фактического месяца, и выделите фактический день

Помимо этого, вы также хотите отображать фактический месяц и год. Для этого вам понадобятся 3 специальных ввода дня: фактический день, первый день фактического месяца, последний день фактического месяца.

Создание календаря в PHP, шаг 2
Создание календаря в PHP, шаг 2

Шаг 2. Определите, какой день был первым днем, сколько длится месяц и, конечно же, какой день является фактическим с помощью приведенной выше информации

Шаг 3. Используйте встроенную функцию PHP:

getdate ()

. Без параметров эта функция возвращает фактическую информацию о дне в массиве следующим образом:

01

Множество

02

(

03

[секунды] => 40

04

[минуты] => 58

05

[часы] => 21

06

[mday] => 17

07

[wday] => 2

08

[пн] => 6

09

[год] => 2003 г.

10

[yday] => 167

11

[будний день] => вторник

12

[месяц] => июнь

13

[0] => 1055901520

14

)

Чтобы получить последний день месяца с датой получения, нам нужно попытаться получить 0-й день следующего месяца. Итак, код для получения информации выглядит так:

1

<? php

2

$ сегодня

=

получить дату

();

3

$ firstDay

=

получить дату

(

mktime

(0, 0, 0,

$ сегодня

[

'пн'

], 1,

$ сегодня

[

'год'

]));

4

$ lastDay

=

получить дату

(

mktime

(0, 0, 0,

$ сегодня

[

'пн'

]+1, 0,

$ сегодня

[

'год'

]));

5

?>

Шаг 3.

Для отображения календаря нам понадобится таблица с 7 столбцами для дней недели. Количество строк в зависимости от количества дней и первого числа месяца. Однако нам нужна строка заголовка с информацией о месяце и году, строка подзаголовка с названием дней.

1

<? php

2

// Создаем таблицу с необходимой информацией заголовка

3

эхо

''

;

;

$ сегодня

[

'месяц'

].

" - "

$ сегодня

[

'год'

].

4

эхо

'

'

'

;

5

эхо

'

'

;

6

эхо

'

Пн Вт Мы Чт

'

;

7

эхо

'

Пт Сб Вс

8

?>

Создание календаря в PHP, шаг 3
Создание календаря в PHP, шаг 3
  • Теперь, когда у вас есть заголовок таблицы, заполните первую строку. Это не так просто, потому что нельзя просто написать 1 в первой ячейке, 2 во второй и так далее. Это работает, только если первый день месяца был понедельником, но что, если нет? Чтобы решить это, нам нужен элемент дня из массива firstDay. С помощью этой информации мы можем заполнить ячейки пустым пространством, если это необходимо. Код для этого следующий:

    01

    <? php

    '

    ;

    02

    эхо

    '

    03

    для

    (

    $ i

    =1;

    $ i

    <

    $ firstDay

    [

    'wday'

    ];

    $ i

    ++){

    '

    ;

    04

    эхо

    '

    05

    }

    06

    $ actday

    = 0;

    07

    для

    (

    $ i

    =

    $ firstDay

    [

    'wday'

    ];

    $ i

    <=7;

    $ i

    ++){

    08

    $ actday

    ++;

    ;

    09

    эхо

    $ actday

    10

    }

    '

    ;

    11

    эхо

    '

    12

    ?>

    Создание календаря в PHP, шаг 4
    Создание календаря в PHP, шаг 4
  • Следующим шагом нам нужно заполнить следующие строки. Это немного проще, нам нужно только знать, сколько у нас полных недель, и заполнить некоторые строки таблицы следующим образом:

    01

    <? php

    02

    $ полных недель

    =

    пол

    ((

    $ lastDay

    [

    'мдай'

    ]-

    $ actday

    )/7);

    03

    04

    для

    (

    $ i

    =0;

    $ i

    <

    $ полных недель

    ;

    $ i

    ++){

    '

    ;

    05

    эхо

    '

    06

    для

    (

    $ j

    =0;

    $ j

    <7;

    $ j

    ++){

    07

    $ actday

    ++;

    ;

    08

    эхо

    $ actday

    09

    }

    '

    ;

    10

    эхо

    '

    11

    }

    12

    13

    ?>

    Создание календаря в PHP, шаг 5
    Создание календаря в PHP, шаг 5
  • В качестве полуфинального шага нам нужно добавить остаток месяца в последнюю строку. В этом случае это довольно просто:

    01

    <? php

    02

    если

    (

    $ actday

    <

    $ lastDay

    [

    'мдай'

    ]){

    '

    ;

    03

    эхо

    '

    04

    для

    (

    $ i

    =0;

    $ i

    <7;

    $ i

    ++){

    05

    $ actday

    ++;

    06

    если

    (

    $ actday

    <=

    $ lastDay

    [

    'мдай'

    ]){

    ;

    07

    эхо

    $ actday

    08

    }

    09

    еще

    {

    '

    ;

    10

    эхо

    '

    11

    }

    12

    }

    '

    ;

    13

    эхо

    '

    14

    }

    15

    ?>

    Шаг 7.

    Чтобы сделать календарь немного лучше, мы представим немного дизайна CSS. Файл CSS очень прост:

    01

    стол {

    02

    ширина

    :

    210 пикселей

    ;

    03

    граница

    :

    0px

    твердый

    #888

    ;

    04

    граница-коллапс

    :

    крах

    ;

    05

    }

    06

    td {

    07

    ширина

    :

    30 пикселей

    ;

    08

    border-collpase: collpase;

    09

    граница

    :

    1px

    твердый

    #888

    ;

    10

    выравнивание текста

    :

    Правильно

    ;

    11

    отступ справа

    :

    5 пикселей

    ;

    12

    }

    13

    .days {

    14

    фоновый цвет

    :

    # F1F3F5

    ;

    15

    }

    16

    th {

    17

    border-collpase: collpase;

    18

    граница

    :

    1px

    твердый

    #888

    ;

    19

    фоновый цвет

    :

    # E9ECEF

    ;

    20

    }

    21

    .actday {

    22

    фоновый цвет

    :

    # c22

    ;

    23

    font-weight

    :

    жирный

    ;

    24

    }

    Создание календаря в PHP, шаг 6
    Создание календаря в PHP, шаг 6
  • Полный код с использованием CSS выглядит следующим образом:

    01

    <! DOCTYPE html PUBLIC

    "- // W3C // DTD XHTML 1.0 Transitional // EN"

    "DTD / xhtml1-transitional.dtd"

    02

    03

    04

    #

    "style / style.css"

    rel =

    "таблица стилей"

    type =

    "текст / CSS"

    05

    06

    07

    <? php

    08

    функция

    showCalendar () {

    09

    // Получаем информацию о ключевом дне.

    10

    // Нам нужны первый и последний день месяца и фактический день

    11

    $ сегодня

    =

    получить дату

    ();

    12

    $ firstDay

    =

    Getdate

    (

    mktime

    (0, 0, 0,

    $ сегодня

    [

    'пн'

    ], 1,

    $ сегодня

    [

    'год'

    ]));

    13

    $ lastDay

    =

    получить дату

    (

    mktime

    (0, 0, 0,

    $ сегодня

    [

    'пн'

    ]+1, 0,

    $ сегодня

    [

    'год'

    ]));

    14

    15

    // Создаем таблицу с необходимой информацией заголовка

    16

    эхо

    ''

    ;

    ;

    $ сегодня

    [

    'месяц'

    ].

    " - "

    $ сегодня

    [

    'год'

    ].

    17

    эхо

    '

    '

    '

    ;

    18

    эхо

    '

    '

    ;

    19

    эхо

    '

    Пн Вт Мы Чт

    '

    ;

    20

    эхо

    '

    Пт Сб Вс

    21

    22

    // Отображаем первую календарную строку с правильным расположением

    '

    ;

    23

    эхо

    '

    24

    для

    (

    $ i

    =1;

    $ i

    <

    $ firstDay

    [

    'wday'

    ];

    $ i

    ++){

    '

    ;

    25

    эхо

    '

    26

    }

    27

    $ actday

    = 0;

    28

    для

    (

    $ i

    =

    $ firstDay

    [

    'wday'

    ];

    $ i

    <=7;

    $ i

    ++){

    29

    $ actday

    ++;

    30

    если

    (

    $ actday

    ==

    $ сегодня

    [

    'мдай'

    ]) {

    31

    $ класс

    =

    'class = "actday"'

    ;

    32

    }

    еще

    {

    33

    $ класс

    =

    ;

    34

    }

    ;

    35

    эхо

    $ actday

    36

    }

    '

    ;

    37

    эхо

    '

    38

    39

    // Получаем, сколько полных недель в фактическом месяце

    40

    $ полных недель

    =

    пол

    ((

    $ lastDay

    [

    'мдай'

    ]-

    $ actday

    )/7);

    41

    для

    (

    $ i

    =0;

    $ i

    <

    $ полных недель

    ;

    $ i

    ++){

    '

    ;

    42

    эхо

    '

    43

    для

    (

    $ j

    =0;

    $ j

    <7;

    $ j

    ++){

    44

    $ actday

    ++;

    45

    если

    (

    $ actday

    ==

    $ сегодня

    [

    'мдай'

    ]) {

    46

    $ класс

    =

    'class = "actday"'

    ;

    47

    }

    еще

    {

    48

    $ класс

    =

    ;

    49

    }

    ;

    50

    эхо

    $ actday

    51

    }

    '

    ;

    52

    эхо

    '

    53

    }

    54

    55

    // Теперь отображаем остаток месяца

    56

    если

    (

    $ actday

    <

    $ lastDay

    [

    'мдай'

    ]){

    '

    ;

    57

    эхо

    '

    58

    для

    (

    $ i

    =0;

    $ i

    <7;

    $ i

    ++){

    59

    $ actday

    ++;

    60

    если

    (

    $ actday

    ==

    $ сегодня

    [

    'мдай'

    ]) {

    61

    $ класс

    =

    'class = "actday"'

    ;

    62

    }

    еще

    {

    63

    $ класс

    =

    ;

    64

    }

    65

    66

    если

    (

    $ actday

    <=

    $ lastDay

    [

    'мдай'

    ]){

    ;

    67

    эхо

    $ actday

    68

    }

    69

    еще

    {

    '

    ;

    70

    эхо

    '

    71

    }

    72

    }

    '

    ;

    73

    эхо

    '

    74

    }

    75

    эхо

    '

    '

    ;

    76

    }

    77

    showCalendar ();

    78

    ?>

    79

    80

  • Рекомендуемые: