Как да създадете календар в PHP: 7 стъпки (със снимки)

Съдържание:

Как да създадете календар в PHP: 7 стъпки (със снимки)
Как да създадете календар в PHP: 7 стъпки (със снимки)
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

$ днес

=

getdate

();

3

$ първи ден

=

getdate

(

mktime

(0, 0, 0,

$ днес

[

"мон"

], 1,

$ днес

[

"година"

]));

4

$ последен ден

=

getdate

(

mktime

(0, 0, 0,

$ днес

[

"мон"

]+1, 0,

$ днес

[

"година"

]));

5

?>

Стъпка 3.

За показване на календар се нуждаем от таблица със 7 колони за дните от седмицата. Броят редове в зависимост от броя на дните и първия ден от месеца. Нуждаем се обаче от заглавен ред с информация за месец и година, ред от подзаглавие с името на дните.

1

<? php

2

// Създаване на таблица с необходимите заглавни данни

3

ехо

''

;

;

4

ехо

'

'

$ днес

[

'месец'

].

" - "

$ днес

[

"година"

].

'

;

5

ехо

'

'

;

6

ехо

'

Пн Ту Ние Th

'

;

7

ехо

'

О Sa Вс

8

?>

Създайте календар в PHP Стъпка 3
Създайте календар в PHP Стъпка 3
  • Сега, когато имате заглавката на таблицата, попълнете първия ред. Не е толкова лесно, тъй като не можете просто да напишете 1 в първата клетка, 2 във втората и така нататък. Работи само ако първият ден от месеца е понеделник, но какво, ако не? За да решим това, се нуждаем от елемента за деня от масива firstDay. С тази информация можем да запълним клетките с място, ако е необходимо. Кодът за това е следният:

    01

    <? php

    '

    ;

    02

    ехо

    '

    03

    за

    (

    $ i

    =1;

    $ i

    <

    $ първи ден

    [

    'wday'

    ];

    $ i

    ++){

    '

    ;

    04

    ехо

    '

    05

    }

    06

    $ actday

    = 0;

    07

    за

    (

    $ i

    =

    $ първи ден

    [

    'wday'

    ];

    $ i

    <=7;

    $ i

    ++){

    08

    $ actday

    ++;

    ;

    09

    ехо

    $ actday

    10

    }

    '

    ;

    11

    ехо

    '

    12

    ?>

    Създайте календар в PHP Стъпка 4
    Създайте календар в PHP Стъпка 4
  • Като следваща стъпка трябва да попълним следните редове. Това е малко по -лесно, трябва само да знаем колко пълна седмица имаме и да попълним няколко реда в таблицата, както следва:

    01

    <? php

    02

    $ пълни седмици

    =

    етаж

    ((

    $ последен ден

    [

    'mday'

    ]-

    $ 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

    <

    $ последен ден

    [

    'mday'

    ]){

    '

    ;

    03

    ехо

    '

    04

    за

    (

    $ i

    =0;

    $ i

    <7;

    $ i

    ++){

    05

    $ actday

    ++;

    06

    ако

    (

    $ actday

    <=

    $ последен ден

    [

    'mday'

    ]){

    ;

    07

    ехо

    $ actday

    08

    }

    09

    иначе

    {

    '

    ;

    10

    ехо

    '

    11

    }

    12

    }

    '

    ;

    13

    ехо

    '

    14

    }

    15

    ?>

    Стъпка 7.

    За да направим календара малко по -хубав, ще въведем CSS дизайн. CSS файлът е много прост:

    01

    маса {

    02

    ширина

    :

    210 пиксела

    ;

    03

    граница

    :

    0 пиксела

    твърд

    #888

    ;

    04

    срутване на границата

    :

    колапс

    ;

    05

    }

    06

    td {

    07

    ширина

    :

    30 пиксела

    ;

    08

    border-collpase: collpase;

    09

    граница

    :

    1 пиксела

    твърд

    #888

    ;

    10

    подравняване на текст

    :

    надясно

    ;

    11

    подложка-вдясно

    :

    5 пиксела

    ;

    12

    }

    13

    .days {

    14

    Цвят на фона

    :

    #F1F3F5

    ;

    15

    }

    16

    th {

    17

    border-collpase: collpase;

    18

    граница

    :

    1 пиксела

    твърд

    #888

    ;

    19

    Цвят на фона

    :

    #E9ECEF

    ;

    20

    }

    21

    .actday {

    22

    Цвят на фона

    :

    #c22

    ;

    23

    тегло на шрифта

    :

    удебелен

    ;

    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 =

    "таблица със стилове"

    тип =

    "текст/css"

    05

    06

    07

    <? php

    08

    функция

    showCalendar () {

    09

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

    10

    // Нуждаем се от първия и последния ден от месеца и действителния ден

    11

    $ днес

    =

    getdate

    ();

    12

    $ първи ден

    =

    getdate

    (

    mktime

    (0, 0, 0,

    $ днес

    [

    "мон"

    ], 1,

    $ днес

    [

    "година"

    ]));

    13

    $ последен ден

    =

    getdate

    (

    mktime

    (0, 0, 0,

    $ днес

    [

    "мон"

    ]+1, 0,

    $ днес

    [

    "година"

    ]));

    14

    15

    // Създаване на таблица с необходимите заглавни данни

    16

    ехо

    ''

    ;

    ;

    17

    ехо

    '

    '

    $ днес

    [

    'месец'

    ].

    " - "

    $ днес

    [

    "година"

    ].

    '

    ;

    18

    ехо

    '

    '

    ;

    19

    ехо

    '

    Пн Ту Ние Th

    '

    ;

    20

    ехо

    '

    О Sa Вс

    21

    22

    // Показване на първия ред на календара с правилно позициониране

    '

    ;

    23

    ехо

    '

    24

    за

    (

    $ i

    =1;

    $ i

    <

    $ първи ден

    [

    'wday'

    ];

    $ i

    ++){

    '

    ;

    25

    ехо

    '

    26

    }

    27

    $ actday

    = 0;

    28

    за

    (

    $ i

    =

    $ първи ден

    [

    'wday'

    ];

    $ i

    <=7;

    $ i

    ++){

    29

    $ actday

    ++;

    30

    ако

    (

    $ actday

    ==

    $ днес

    [

    'mday'

    ]) {

    31

    $ клас

    =

    'class = "actday"'

    ;

    32

    }

    иначе

    {

    33

    $ клас

    =

    ;

    34

    }

    ;

    35

    ехо

    „$ actday

    36

    }

    '

    ;

    37

    ехо

    '

    38

    39

    // Вземете колко пълни седмици са в действителния месец

    40

    $ пълни седмици

    =

    етаж

    ((

    $ последен ден

    [

    'mday'

    ]-

    $ actday

    )/7);

    41

    за

    (

    $ i

    =0;

    $ i

    <

    $ пълни седмици

    ;

    $ i

    ++){

    '

    ;

    42

    ехо

    '

    43

    за

    (

    $ j

    =0;

    $ j

    <7;

    $ j

    ++){

    44

    $ actday

    ++;

    45

    ако

    (

    $ actday

    ==

    $ днес

    [

    'mday'

    ]) {

    46

    $ клас

    =

    'class = "actday"'

    ;

    47

    }

    иначе

    {

    48

    $ клас

    =

    ;

    49

    }

    ;

    50

    ехо

    „$ actday

    51

    }

    '

    ;

    52

    ехо

    '

    53

    }

    54

    55

    // Сега показва останалата част от месеца

    56

    ако

    (

    $ actday

    <

    $ последен ден

    [

    'mday'

    ]){

    '

    ;

    57

    ехо

    '

    58

    за

    (

    $ i

    =0;

    $ i

    <7;

    $ i

    ++){

    59

    $ actday

    ++;

    60

    ако

    (

    $ actday

    ==

    $ днес

    [

    'mday'

    ]) {

    61

    $ клас

    =

    'class = "actday"'

    ;

    62

    }

    иначе

    {

    63

    $ клас

    =

    ;

    64

    }

    65

    66

    ако

    (

    $ actday

    <=

    $ последен ден

    [

    'mday'

    ]){

    ;

    67

    ехо

    „$ actday

    68

    }

    69

    иначе

    {

    '

    ;

    70

    ехо

    '

    71

    }

    72

    }

    '

    ;

    73

    ехо

    '

    74

    }

    75

    ехо

    '

    '

    ;

    76

    }

    77

    showCalendar ();

    78

    ?>

    79

    80

  • Популярни по теми