PHPде календарды кантип түзүү керек: 7 кадам (сүрөттөр менен)

Мазмуну:

PHPде календарды кантип түзүү керек: 7 кадам (сүрөттөр менен)
PHPде календарды кантип түзүү керек: 7 кадам (сүрөттөр менен)

Video: PHPде календарды кантип түзүү керек: 7 кадам (сүрөттөр менен)

Video: PHPде календарды кантип түзүү керек: 7 кадам (сүрөттөр менен)
Video: 30 глупых вопросов Data Engineer [Карьера в IT] 2024, Апрель
Anonim

Бул макала PHPде календарды кантип түзүүнү үйрөтөт. Бул жерде кээ бир акысыз PHP календардык сценарийлеринин тизмеси. Же сиз түздөн -түз PHPKode.com сайтына кирип, акысыз PHP үйрөткүчтөрүн таба аласыз.

Кадамдар

PHPде Календар түзүү 1 -кадам
PHPде Календар түзүү 1 -кадам

Кадам 1. Чыныгы айды көрсөтүү үчүн маанилүү болгон маалыматты чогултуп, чыныгы күндү бөлүп алыңыз

Мындан тышкары, сиз айды жана жылды көрсөтүүнү каалайсыз. Бул үчүн сизге 3 атайын күндүк жазуу керек: чыныгы күн, айдын биринчи күнү, айдын акыркы күнү

PHPде Календар түзүү 2 -кадам
PHPде Календар түзүү 2 -кадам

Кадам 2. Биринчи күн кайсы күнү болгонун, айдын узактыгын жана, албетте, иш жүзүндөгү күндү, жогорудагы маалымат менен аныктаңыз

Кадам 3. PHP камтылган функциясын колдонуңуз:

getdate ()

. Параметрлерсиз, бул функция массивдеги күндүн чыныгы маалыматын төмөнкүдөй кайтарат:

01

Array

02

(

03

[секунд] => 40

04

[мүнөт] => 58

05

[саат] => 21

06

[mday] => 17

07

[wday] => 2

08

[пн] => 6

09

[жыл] => 2003

10

[yday] => 167

11

[weekday] => Шейшемби

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

жаңырык

'

Мо Tu Биз Th

'

;

7

жаңырык

'

Fr Sa Су

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

    $ fullWeeks

    =

    кабат

    ((

    $ lastDay

    [

    'mday'

    ]-

    $ actday

    )/7);

    03

    04

    үчүн

    (

    $ i

    =0;

    $ i

    <

    $ fullWeeks

    ;

    $ 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

    [

    'mday'

    ]){

    '

    ;

    03

    жаңырык

    '

    04

    үчүн

    (

    $ i

    =0;

    $ i

    <7;

    $ i

    ++){

    05

    $ actday

    ++;

    06

    эгер

    (

    $ actday

    <=

    $ lastDay

    [

    'mday'

    ]){

    ;

    07

    жаңырык

    $ actday

    08

    }

    09

    башка

    {

    '

    ;

    10

    жаңырык

    '

    11

    }

    12

    }

    '

    ;

    13

    жаңырык

    '

    14

    }

    15

    ?>

    7 -кадам.

    Календарды бир аз жакшыраак кылуу үчүн, биз кээ бир CSS дизайнын киргизебиз. CSS файлы абдан жөнөкөй:

    01

    стол {

    02

    туурасы

    :

    210px

    ;

    03

    чек ара

    :

    0px

    катуу

    #888

    ;

    04

    чек ара кыйрашы

    :

    кулоо

    ;

    05

    }

    06

    td {

    07

    туурасы

    :

    30px

    ;

    08

    border-collpase: collpase;

    09

    чек ара

    :

    1px

    катуу

    #888

    ;

    10

    текст тегиздөө

    :

    туура

    ;

    11

    толтуруу-оң

    :

    5px

    ;

    12

    }

    13

    .күндөр {

    14

    фон түсү

    :

    #F1F3F5

    ;

    15

    }

    16

    чи {

    17

    border-collpase: collpase;

    18

    чек ара

    :

    1px

    катуу

    #888

    ;

    19

    фон түсү

    :

    #E9ECEF

    ;

    20

    }

    21

    .actday {

    22

    фон түсү

    :

    #c22

    ;

    23

    шрифт салмагы

    :

    калың

    ;

    24

    }

    PHPде Календарь түзүңүз 6 -кадам
    PHPде Календарь түзүңүз 6 -кадам
  • CSSти колдонуунун толук коду төмөнкүчө:

    01

    <! DOCTYPE html КООМДУК

    "-// 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

    $ бүгүн

    =

    алуу датасы

    ();

    12

    $ firstDay

    =

    алуу датасы

    (

    mktime

    (0, 0, 0,

    $ бүгүн

    [

    'пн'

    ], 1,

    $ бүгүн

    [

    'жыл'

    ]));

    13

    $ lastDay

    =

    алуу датасы

    (

    mktime

    (0, 0, 0,

    $ бүгүн

    [

    'пн'

    ]+1, 0,

    $ бүгүн

    [

    'жыл'

    ]));

    14

    15

    // Керектүү баш маалыматтары бар таблица түзүңүз

    16

    жаңырык

    ''

    ;

    ;

    $ бүгүн

    [

    'ай'

    ].

    " - "

    $ бүгүн

    [

    'жыл'

    ].

    17

    жаңырык

    '

    '

    '

    ;

    18

    жаңырык

    '

    '

    ;

    19

    жаңырык

    '

    Мо Tu Биз Th

    '

    ;

    20

    жаңырык

    '

    Fr Sa Су

    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

    ==

    $ бүгүн

    [

    'mday'

    ]) {

    31

    $ class

    =

    'class = "actday"'

    ;

    32

    }

    башка

    {

    33

    $ class

    =

    ;

    34

    }

    ;

    35

    жаңырык

    $ actday

    36

    }

    '

    ;

    37

    жаңырык

    '

    38

    39

    // Чыныгы айда канча толук жума бар экенин алыңыз

    40

    $ fullWeeks

    =

    кабат

    ((

    $ lastDay

    [

    'mday'

    ]-

    $ actday

    )/7);

    41

    үчүн

    (

    $ i

    =0;

    $ i

    <

    $ fullWeeks

    ;

    $ i

    ++){

    '

    ;

    42

    жаңырык

    '

    43

    үчүн

    (

    $ j

    =0;

    $ j

    <7;

    $ j

    ++){

    44

    $ actday

    ++;

    45

    эгер

    (

    $ actday

    ==

    $ бүгүн

    [

    'mday'

    ]) {

    46

    $ class

    =

    'class = "actday"'

    ;

    47

    }

    башка

    {

    48

    $ class

    =

    ;

    49

    }

    ;

    50

    жаңырык

    $ actday

    51

    }

    '

    ;

    52

    жаңырык

    '

    53

    }

    54

    55

    // Эми айдын калганын көрсөт

    56

    эгер

    (

    $ actday

    <

    $ lastDay

    [

    'mday'

    ]){

    '

    ;

    57

    жаңырык

    '

    58

    үчүн

    (

    $ i

    =0;

    $ i

    <7;

    $ i

    ++){

    59

    $ actday

    ++;

    60

    эгер

    (

    $ actday

    ==

    $ бүгүн

    [

    'mday'

    ]) {

    61

    $ class

    =

    'class = "actday"'

    ;

    62

    }

    башка

    {

    63

    $ class

    =

    ;

    64

    }

    65

    66

    эгер

    (

    $ actday

    <=

    $ lastDay

    [

    'mday'

    ]){

    ;

    67

    жаңырык

    $ actday

    68

    }

    69

    башка

    {

    '

    ;

    70

    жаңырык

    '

    71

    }

    72

    }

    '

    ;

    73

    жаңырык

    '

    74

    }

    75

    жаңырык

    '

    '

    ;

    76

    }

    77

    showCalendar ();

    78

    ?>

    79

    80

  • Сунушталууда: