Come creare un calendario in PHP: 7 passaggi (con immagini)

Sommario:

Come creare un calendario in PHP: 7 passaggi (con immagini)
Come creare un calendario in PHP: 7 passaggi (con immagini)

Video: Come creare un calendario in PHP: 7 passaggi (con immagini)

Video: Come creare un calendario in PHP: 7 passaggi (con immagini)
Video: [CENTOS] - Corti di Sistema Abilitare MFA (Google Authenticator) in ssh su centos 7 2024, Marzo
Anonim

Questo articolo ti insegnerà come creare un calendario in PHP. Qui elenca alcuni script di calendario php gratuiti. Oppure puoi accedere direttamente al sito PHPKode.com per ulteriori tutorial PHP gratuiti.

Passi

Crea un calendario in PHP Passaggio 1
Crea un calendario in PHP Passaggio 1

Passaggio 1. Raccogliere le informazioni necessarie che sono importanti per visualizzare il mese effettivo ed evidenziare il giorno effettivo

Oltre a questo, vuoi visualizzare anche il mese e l'anno effettivi. Per fare ciò avrai bisogno di 3 ingressi speciali del giorno: il giorno effettivo, il primo giorno del mese effettivo, l'ultimo giorno del mese effettivo

Crea un calendario in PHP Passaggio 2
Crea un calendario in PHP Passaggio 2

Passaggio 2. Determina quale giorno era il primo giorno, quanto è lungo il mese e, naturalmente, qual è il giorno effettivo, con le informazioni di cui sopra

Passaggio 3. Utilizzare la funzione integrata di PHP:

getdate()

. Senza parametri, questa funzione restituisce le informazioni sul giorno effettivo in una matrice come segue:

01

Vettore

02

(

03

[secondi] => 40

04

[minuti] => 58

05

[ore] => 21

06

[giorno] => 17

07

[giorno] => 2

08

[lun] => 6

09

[anno] => 2003

10

[yday] => 167

11

[giorno della settimana] => martedì

12

[mese] => giugno

13

[0] => 1055901520

14

)

Per ottenere l'ultimo giorno del mese con la data di acquisizione, è necessario provare a ottenere lo 0. giorno del mese successivo. Quindi il codice per ottenere le informazioni è simile a questo:

1

<?php

2

$oggi

=

getdate

();

3

$primogiorno

=

getdate

(

mktime

(0, 0, 0,

$oggi

[

"lunedì"

], 1,

$oggi

[

'anno'

]));

4

$lastDay

=

getdate

(

mktime

(0, 0, 0,

$oggi

[

'lunedì'

]+1, 0,

$oggi

[

'anno'

]));

5

?>

Passaggio 3.

Per visualizzare un calendario abbiamo bisogno di una tabella con 7 colonne per i giorni della settimana. Il numero di righe dipende dal numero di giorni e dal primo giorno del mese. Tuttavia abbiamo bisogno di una riga di intestazione con informazioni su mese e anno, una riga di sottointestazione con il nome dei giorni.

1

<?php

2

// Crea una tabella con le informazioni di intestazione necessarie

3

eco

''

;

;

$oggi

[

'mese'

].

" - "

$oggi

[

'anno'

].

4

eco

'

'

'

;

5

eco

'

'

;

6

eco

'

Mo tu Noi ns

'

;

7

eco

'

FR sa su

8

?>

Crea un calendario in PHP Passaggio 3
Crea un calendario in PHP Passaggio 3
  • Ora che hai l'intestazione della tabella, riempi la prima riga. Non è così facile perché non puoi semplicemente scrivere 1 nella prima cella, 2 nella seconda e così via. Funziona solo se il primo giorno del mese era lunedì, ma se no? Per decidere questo abbiamo bisogno dell'elemento giorno dall'array firstDay. Con queste informazioni possiamo riempire le celle con uno spazio, se necessario. Il codice per farlo è il seguente:

    01

    <?php

    '

    ;

    02

    eco

    '

    03

    per

    (

    $i

    =1;

    $i

    <

    $primogiorno

    [

    'giorno'

    ];

    $i

    ++){

    '

    ;

    04

    eco

    '

    05

    }

    06

    $actday

    = 0;

    07

    per

    (

    $i

    =

    $primogiorno

    [

    'giorno'

    ];

    $i

    <=7;

    $i

    ++){

    08

    $actday

    ++;

    ;

    09

    eco

    $actday

    10

    }

    '

    ;

    11

    eco

    '

    12

    ?>

    Crea un calendario in PHP Passaggio 4
    Crea un calendario in PHP Passaggio 4
  • Come passaggio successivo dobbiamo riempire le righe seguenti. È un po' più semplice, dobbiamo solo sapere quante settimane abbiamo e riempire alcune righe della tabella come segue:

    01

    <?php

    02

    $ settimane intere

    =

    pavimento

    ((

    $lastDay

    [

    'giorno'

    ]-

    $actday

    )/7);

    03

    04

    per

    (

    $i

    =0;

    $i

    <

    $ settimane intere

    ;

    $i

    ++){

    '

    ;

    05

    eco

    '

    06

    per

    (

    $j

    =0;

    $j

    <7;

    $j

    ++){

    07

    $actday

    ++;

    ;

    08

    eco

    $actday

    09

    }

    '

    ;

    10

    eco

    '

    11

    }

    12

    13

    ?>

    Crea un calendario in PHP Passaggio 5
    Crea un calendario in PHP Passaggio 5
  • Come passaggio semifinale dobbiamo aggiungere il resto del mese all'ultima riga. In questo caso è abbastanza facile:

    01

    <?php

    02

    Se

    (

    $actday

    <

    $lastDay

    [

    'giorno'

    ]){

    '

    ;

    03

    eco

    '

    04

    per

    (

    $i

    =0;

    $i

    <7;

    $i

    ++){

    05

    $actday

    ++;

    06

    Se

    (

    $actday

    <=

    $lastDay

    [

    'giorno'

    ]){

    ;

    07

    eco

    $actday

    08

    }

    09

    altro

    {

    '

    ;

    10

    eco

    '

    11

    }

    12

    }

    '

    ;

    13

    eco

    '

    14

    }

    15

    ?>

    Passaggio 7.

    Per rendere il calendario un po' più carino introdurremo un po' di design CSS. Il file CSS è molto semplice:

    01

    tavolo {

    02

    larghezza

    :

    210px

    ;

    03

    frontiera

    :

    0px

    solido

    #888

    ;

    04

    confine-collasso

    :

    crollo

    ;

    05

    }

    06

    td {

    07

    larghezza

    :

    30px

    ;

    08

    border-collpase:collpase;

    09

    frontiera

    :

    1px

    solido

    #888

    ;

    10

    allineare il testo

    :

    Giusto

    ;

    11

    padding-right

    :

    5px

    ;

    12

    }

    13

    .giorni{

    14

    colore di sfondo

    :

    #F1F3F5

    ;

    15

    }

    16

    ns {

    17

    border-collpase:collpase;

    18

    frontiera

    :

    1px

    solido

    #888

    ;

    19

    colore di sfondo

    :

    #E9ECEF

    ;

    20

    }

    21

    .actday{

    22

    colore di sfondo

    :

    #c22

    ;

    23

    carattere-peso

    :

    grassetto

    ;

    24

    }

    Crea un calendario in PHP Passaggio 6
    Crea un calendario in PHP Passaggio 6
  • Il codice completo che utilizza il CSS è il seguente:

    01

    <!DOCTYPE html PUBBLICO

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

    "DTD/xhtml1-transitional.dtd"

    02

    03

    04

    #

    "stile/stile.css"

    rel=

    "foglio di stile"

    tipo=

    "testo/css"

    05

    06

    07

    <?php

    08

    funzione

    Mostra il calendario(){

    09

    // Ottieni le informazioni chiave del giorno.

    10

    // Abbiamo bisogno del primo e dell'ultimo giorno del mese e del giorno effettivo

    11

    $oggi

    =

    getdate

    ();

    12

    $primogiorno

    =

    getdate

    (

    mktime

    (0, 0, 0,

    $oggi

    [

    'lunedì'

    ], 1,

    $oggi

    [

    'anno'

    ]));

    13

    $lastDay

    =

    getdate

    (

    mktime

    (0, 0, 0,

    $oggi

    [

    'lunedì'

    ]+1, 0,

    $oggi

    [

    'anno'

    ]));

    14

    15

    // Crea una tabella con le informazioni di intestazione necessarie

    16

    eco

    ''

    ;

    ;

    $oggi

    [

    'mese'

    ].

    " - "

    $oggi

    [

    'anno'

    ].

    17

    eco

    '

    '

    '

    ;

    18

    eco

    '

    '

    ;

    19

    eco

    '

    Mo tu Noi ns

    '

    ;

    20

    eco

    '

    FR sa su

    21

    22

    // Visualizza la prima riga del calendario con il posizionamento corretto

    '

    ;

    23

    eco

    '

    24

    per

    (

    $i

    =1;

    $i

    <

    $primogiorno

    [

    'giorno'

    ];

    $i

    ++){

    '

    ;

    25

    eco

    '

    26

    }

    27

    $actday

    = 0;

    28

    per

    (

    $i

    =

    $primogiorno

    [

    'giorno'

    ];

    $i

    <=7;

    $i

    ++){

    29

    $actday

    ++;

    30

    Se

    (

    $actday

    ==

    $oggi

    [

    'giorno'

    ]) {

    31

    $class

    =

    'class="actday"'

    ;

    32

    }

    altro

    {

    33

    $class

    =

    ;

    34

    }

    ;

    35

    eco

    $actday

    36

    }

    '

    ;

    37

    eco

    '

    38

    39

    //Ottieni quante settimane complete ci sono nel mese effettivo

    40

    $ settimane intere

    =

    pavimento

    ((

    $lastDay

    [

    'giorno'

    ]-

    $actday

    )/7);

    41

    per

    (

    $i

    =0;

    $i

    <

    $ settimane intere

    ;

    $i

    ++){

    '

    ;

    42

    eco

    '

    43

    per

    (

    $j

    =0;

    $j

    <7;

    $j

    ++){

    44

    $actday

    ++;

    45

    Se

    (

    $actday

    ==

    $oggi

    [

    'giorno'

    ]) {

    46

    $class

    =

    'class="actday"'

    ;

    47

    }

    altro

    {

    48

    $class

    =

    ;

    49

    }

    ;

    50

    eco

    $actday

    51

    }

    '

    ;

    52

    eco

    '

    53

    }

    54

    55

    //Ora mostra il resto del mese

    56

    Se

    (

    $actday

    <

    $lastDay

    [

    'giorno'

    ]){

    '

    ;

    57

    eco

    '

    58

    per

    (

    $i

    =0;

    $i

    <7;

    $i

    ++){

    59

    $actday

    ++;

    60

    Se

    (

    $actday

    ==

    $oggi

    [

    'giorno'

    ]) {

    61

    $class

    =

    'class="actday"'

    ;

    62

    }

    altro

    {

    63

    $class

    =

    ;

    64

    }

    65

    66

    Se

    (

    $actday

    <=

    $lastDay

    [

    'giorno'

    ]){

    ;

    67

    eco

    $actday

    68

    }

    69

    altro

    {

    '

    ;

    70

    eco

    '

    71

    }

    72

    }

    '

    ;

    73

    eco

    '

    74

    }

    75

    eco

    '

    '

    ;

    76

    }

    77

    Mostra il calendario();

    78

    ?>

    79

    80

  • Consigliato: