PHP -da taqvim yaratish: 7 qadam (rasmlar bilan)

Mundarija:

PHP -da taqvim yaratish: 7 qadam (rasmlar bilan)
PHP -da taqvim yaratish: 7 qadam (rasmlar bilan)

Video: PHP -da taqvim yaratish: 7 qadam (rasmlar bilan)

Video: PHP -da taqvim yaratish: 7 qadam (rasmlar bilan)
Video: Telefonda rasm montaj qilish 2024, Aprel
Anonim

Ushbu maqola sizga PHP -da taqvim tuzishni o'rgatadi. Bu erda bir nechta bepul PHP taqvim skriptlari ro'yxati keltirilgan. Yoki to'g'ridan -to'g'ri PHPKode.com saytiga kirib, ko'proq PHP darsliklarini olishingiz mumkin.

Qadamlar

PHP -da taqvim yaratish 1 -qadam
PHP -da taqvim yaratish 1 -qadam

Qadam 1. Haqiqiy oyni ko'rsatish va haqiqiy kunni ko'rsatish uchun zarur bo'lgan ma'lumotlarni to'plang

Bundan tashqari, siz haqiqiy oy va yilni ko'rsatishni xohlaysiz. Buning uchun sizga 3 ta maxsus kun kiritish kerak bo'ladi: haqiqiy kun, haqiqiy oyning birinchi kuni, haqiqiy oyning oxirgi kuni

PHP -da taqvim yaratish 2 -qadam
PHP -da taqvim yaratish 2 -qadam

Qadam 2. Yuqoridagi ma'lumotlar bilan birinchi kun qaysi kun, oy qancha va albatta haqiqiy kun ekanligini aniqlang

Qadam 3. PHP o'rnatilgan funksiyasidan foydalaning:

getdate ()

. Parametrlarsiz, bu funksiya qatordagi haqiqiy kun ma'lumotlarini quyidagicha qaytaradi:

01

Qator

02

(

03

[soniyalar] => 40

04

[daqiqa] => 58

05

[soat] => 21

06

[mday] => 17

07

[wday] => 2

08

[mon] => 6

09

[yil] => 2003 yil

10

[yday] => 167

11

[hafta ichi] => seshanba

12

[oy] => iyun

13

[0] => 1055901520

14

)

Olingan sana bilan oyning oxirgi kunini olish uchun biz keyingi oyning 0. kunini olishga harakat qilishimiz kerak. Shunday qilib, ma'lumot olish kodi quyidagicha ko'rinadi:

1

<? php

2

$ bugun

=

sanasi

();

3

$ FirstDay

=

sanasi

(

vaqt

(0, 0, 0,

$ bugun

[

"mon"

], 1,

$ bugun

[

'yil'

]));

4

$ lastDay

=

sanasi

(

vaqt

(0, 0, 0,

$ bugun

[

"mon"

]+1, 0,

$ bugun

[

'yil'

]));

5

?>

3 -qadam.

Kalendarni ko'rsatish uchun bizga haftaning kunlari uchun 7 ta ustunli jadval kerak. Kunlar soniga va oyning birinchi kuniga qarab qatorlar soni. Biroq, bizga oy va yil ma'lumotlari bilan sarlavha chizig'i, kunlar yozilgan pastki sarlavha kerak.

1

<? php

2

// Kerakli sarlavha ma'lumotlari bilan jadval yarating

3

aks sado

''

;

;

$ bugun

[

'oy'

].

" - "

$ bugun

[

'yil'

].

4

aks sado

'

'

'

;

5

aks sado

'

'

;

6

aks sado

'

Mo Tu Biz Th

'

;

7

aks sado

'

Fr Sa Su

8

?>

PHP -da taqvim yaratish 3 -qadam
PHP -da taqvim yaratish 3 -qadam
  • Endi sizda jadvalning sarlavhasi bor, birinchi qatorni to'ldiring. Bu oson emas, chunki siz birinchi hujayraga 1, ikkinchisiga 2 va boshqalarni yozolmaysiz. Bu faqat oyning birinchi kuni dushanba bo'lsa ishlaydi, lekin bo'lmasa nima bo'ladi? Buni hal qilish uchun bizga firstDay massividagi kun elementi kerak. Agar kerak bo'lsa, bu ma'lumot yordamida biz hujayralarni bo'sh joy bilan to'ldirishimiz mumkin. Buni amalga oshirish uchun kod quyidagicha:

    01

    <? php

    '

    ;

    02

    aks sado

    '

    03

    uchun

    (

    $ i

    =1;

    $ i

    <

    $ FirstDay

    [

    'wday'

    ];

    $ i

    ++){

    '

    ;

    04

    aks sado

    '

    05

    }

    06

    $ actday

    = 0;

    07

    uchun

    (

    $ i

    =

    $ FirstDay

    [

    'wday'

    ];

    $ i

    <=7;

    $ i

    ++){

    08

    $ actday

    ++;

    ;

    09

    aks sado

    $ actday

    10

    }

    '

    ;

    11

    aks sado

    '

    12

    ?>

    PHP -da taqvim yarating 4 -qadam
    PHP -da taqvim yarating 4 -qadam
  • Keyingi qadam sifatida biz quyidagi qatorlarni to'ldirishimiz kerak. Bu biroz osonroq, bizda qancha hafta borligini bilish va jadval satrlarini quyidagicha to'ldirish kerak:

    01

    <? php

    02

    $ fullWeeks

    =

    pol

    ((

    $ lastDay

    [

    'kun'

    ]-

    $ actday

    )/7);

    03

    04

    uchun

    (

    $ i

    =0;

    $ i

    <

    $ fullWeeks

    ;

    $ i

    ++){

    '

    ;

    05

    aks sado

    '

    06

    uchun

    (

    $ j

    =0;

    $ j

    <7;

    $ j

    ++){

    07

    $ actday

    ++;

    ;

    08

    aks sado

    $ actday

    09

    }

    '

    ;

    10

    aks sado

    '

    11

    }

    12

    13

    ?>

    PHP -da taqvim yaratish 5 -qadam
    PHP -da taqvim yaratish 5 -qadam
  • Yarim final bosqichi sifatida biz oyning qolgan qismini oxirgi qatorga qo'shishimiz kerak. Bunday holda, bu juda oson:

    01

    <? php

    02

    agar

    (

    $ actday

    <

    $ lastDay

    [

    'kun'

    ]){

    '

    ;

    03

    aks sado

    '

    04

    uchun

    (

    $ i

    =0;

    $ i

    <7;

    $ i

    ++){

    05

    $ actday

    ++;

    06

    agar

    (

    $ actday

    <=

    $ lastDay

    [

    'kun'

    ]){

    ;

    07

    aks sado

    $ actday

    08

    }

    09

    boshqa

    {

    '

    ;

    10

    aks sado

    '

    11

    }

    12

    }

    '

    ;

    13

    aks sado

    '

    14

    }

    15

    ?>

    7 -qadam.

    Taqvimni biroz chiroyli qilish uchun biz CSS dizaynini taqdim etamiz. CSS fayli juda oddiy:

    01

    stol {

    02

    kenglik

    :

    210 piksel

    ;

    03

    chegara

    :

    0 piksel

    qattiq

    #888

    ;

    04

    chegaraning qulashi

    :

    qulash

    ;

    05

    }

    06

    td {

    07

    kenglik

    :

    30 piksel

    ;

    08

    chegara-yig'ilish: yig'ilish;

    09

    chegara

    :

    1 piksel

    qattiq

    #888

    ;

    10

    matnni tekislash

    :

    to'g'ri

    ;

    11

    to'ldirish-o'ng

    :

    5 piksel

    ;

    12

    }

    13

    . kunlar {

    14

    fon rangi

    :

    #F1F3F5

    ;

    15

    }

    16

    th {

    17

    chegara-yig'ilish: yig'ilish;

    18

    chegara

    :

    1 piksel

    qattiq

    #888

    ;

    19

    fon rangi

    :

    #E9ECEF

    ;

    20

    }

    21

    .hozirgi kun {

    22

    fon rangi

    :

    #c22

    ;

    23

    shrift og'irligi

    :

    qalin

    ;

    24

    }

    PHP -da taqvim yarating 6 -qadam
    PHP -da taqvim yarating 6 -qadam
  • CSS yordamida to'liq kod quyidagicha:

    01

    <! DOCTYPE html Ommaviy

    "-// W3C // DTD XHTML 1.0 o'tish // EN"

    "DTD/xhtml1-transitional.dtd"

    02

    03

    04

    #

    "style/style.css"

    rel =

    "uslublar jadvali"

    turi =

    "matn/CSS"

    05

    06

    07

    <? php

    08

    funktsiya

    showCalendar () {

    09

    // Kun haqida asosiy ma'lumotlarni oling.

    10

    // Bizga oyning birinchi va oxirgi kuni va haqiqiy kuni kerak

    11

    $ bugun

    =

    sanasi

    ();

    12

    $ FirstDay

    =

    sanasi

    (

    vaqt

    (0, 0, 0,

    $ bugun

    [

    "mon"

    ], 1,

    $ bugun

    [

    'yil'

    ]));

    13

    $ lastDay

    =

    sanasi

    (

    vaqt

    (0, 0, 0,

    $ bugun

    [

    "mon"

    ]+1, 0,

    $ bugun

    [

    'yil'

    ]));

    14

    15

    // Kerakli sarlavha ma'lumotlari bilan jadval yarating

    16

    aks sado

    ''

    ;

    ;

    $ bugun

    [

    'oy'

    ].

    " - "

    $ bugun

    [

    'yil'

    ].

    17

    aks sado

    '

    '

    '

    ;

    18

    aks sado

    '

    '

    ;

    19

    aks sado

    '

    Mo Tu Biz Th

    '

    ;

    20

    aks sado

    '

    Fr Sa Su

    21

    22

    // Birinchi taqvim qatorini to'g'ri joylashuvi bilan ko'rsatish

    '

    ;

    23

    aks sado

    '

    24

    uchun

    (

    $ i

    =1;

    $ i

    <

    $ FirstDay

    [

    'wday'

    ];

    $ i

    ++){

    '

    ;

    25

    aks sado

    '

    26

    }

    27

    $ actday

    = 0;

    28

    uchun

    (

    $ i

    =

    $ FirstDay

    [

    'wday'

    ];

    $ i

    <=7;

    $ i

    ++){

    29

    $ actday

    ++;

    30

    agar

    (

    $ actday

    ==

    $ bugun

    [

    'kun'

    ]) {

    31

    $ sinf

    =

    'class = "actday"'

    ;

    32

    }

    boshqa

    {

    33

    $ sinf

    =

    ;

    34

    }

    ;

    35

    aks sado

    $ aktday

    36

    }

    '

    ;

    37

    aks sado

    '

    38

    39

    // Haqiqiy oyda nechta to'liq hafta borligini bilib oling

    40

    $ fullWeeks

    =

    pol

    ((

    $ lastDay

    [

    'kun'

    ]-

    $ actday

    )/7);

    41

    uchun

    (

    $ i

    =0;

    $ i

    <

    $ fullWeeks

    ;

    $ i

    ++){

    '

    ;

    42

    aks sado

    '

    43

    uchun

    (

    $ j

    =0;

    $ j

    <7;

    $ j

    ++){

    44

    $ actday

    ++;

    45

    agar

    (

    $ actday

    ==

    $ bugun

    [

    'kun'

    ]) {

    46

    $ sinf

    =

    'class = "actday"'

    ;

    47

    }

    boshqa

    {

    48

    $ sinf

    =

    ;

    49

    }

    ;

    50

    aks sado

    $ aktday

    51

    }

    '

    ;

    52

    aks sado

    '

    53

    }

    54

    55

    // Endi oyning qolgan qismini ko'rsating

    56

    agar

    (

    $ actday

    <

    $ lastDay

    [

    'kun'

    ]){

    '

    ;

    57

    aks sado

    '

    58

    uchun

    (

    $ i

    =0;

    $ i

    <7;

    $ i

    ++){

    59

    $ actday

    ++;

    60

    agar

    (

    $ actday

    ==

    $ bugun

    [

    'kun'

    ]) {

    61

    $ sinf

    =

    'class = "actday"'

    ;

    62

    }

    boshqa

    {

    63

    $ sinf

    =

    ;

    64

    }

    65

    66

    agar

    (

    $ actday

    <=

    $ lastDay

    [

    'kun'

    ]){

    ;

    67

    aks sado

    $ aktday

    68

    }

    69

    boshqa

    {

    '

    ;

    70

    aks sado

    '

    71

    }

    72

    }

    '

    ;

    73

    aks sado

    '

    74

    }

    75

    aks sado

    '

    '

    ;

    76

    }

    77

    showCalendar ();

    78

    ?>

    79

    80

  • Tavsiya: