• Home
  • Forum
  • Fare Web
  • Snippet
  • Snippet PHP

Semplice calendario

  • Creatore Discussione Creatore Discussione criric
  • Data di inizio Data di inizio 5 Feb 2012
  • Tag Tag
    calendario cal_days_in_month() cal_gregorian date() mktime()

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 5 Feb 2012
  • #1
Tempo fa ho trovato in rete un ciclo for annidato per creare un calendario

Vi posto il risultato semplificato ( nei miei script uso ajax per cambiare la data ) di ciò che ne è venuto fuori

PHP:
<!-- Un pò di css per personalizzare il calendario -->
<style type="text/css">
    table.tabcal{
        margin:auto;
        width:210px;
        text-align: center;
        font-size:13px;
        color:#000;
        letter-spacing: 0;
        border:2px solid #980000;
        border-radius: 4px;
    }

    table.tabcal td {
        padding: 3px 5px 3px 5px;
        background-color: #E9E9E9;
    }
    table.tabcal td.daycolor {
        font-weight: bold;
        border:1px solid #980000;
        border-radius: 4px;
    }
    table.tabcal td.empty {
        background-color: #fff;
    }
    table.tabcal tr.bold {
        font-weight: bold;
    }
    table.tabcal td.red {
        background-color: #980000;
        color:#FFF;
    }
    table.tabcal td a {
        text-decoration: none;
        color:#FFF;
    }
</style>

<?php
// verifichiamo se è stato scelto un altra data
if (isset($_GET['m']) && isset($_GET['y'])) {
    // qui i controlli sarebbero da aumentare 
    if (is_numeric($_GET['m']) && is_numeric($_GET['y'])) {
        echo calendario($_GET['m'], $_GET['y']);
    } else {
        echo calendario(date('m'), date('Y'));
    }
} else {
    //altrimenti impostiamo la data corrente
    echo calendario(date('m'), date('Y'));
}

// funzione che restituisce il nome del mese indicato in italiano
function nome_mese($m) {
    $mesi = array(1, 'Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio',
        'Giugno', 'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', 'Dicembre');
    return $mesi[$m];
}

// Parametri obbligatori : mese e anno
function calendario($month, $year) {
    $time_primo_del_mese = mktime(0, 0, 0, $month, 1, $year);
    $primo_del_mese = date('w', $time_primo_del_mese);

    $giorni_nel_mese = cal_days_in_month(CAL_GREGORIAN, $month, $year);

    echo "<table class='tabcal'>";
    echo "<tr class='bold'>";
    echo "<td class='red' colspan='7'>" . nome_mese((int) $month) . " " . $year . "</td>";
    echo "</tr>";
    echo "<tr class='bold'>";
    echo "<td>D</td>";
    echo "<td>L</td>";
    echo "<td>M</td>";
    echo "<td>M</td>";
    echo "<td>G</td>";
    echo "<td>V</td>";
    echo "<td>S</td>";
    echo "</tr>\n";
    // questo ciclo annidato l'ho trovato in rete tempo fa ma non ricordo dove
    for ($i = 0; $i < 6; $i++) {
        echo "<tr>";
        for ($x = 1; $x <= 7; $x++) {
            $y = $x + ($i * 7) - $primo_del_mese;
            echo "<td";
            if ($y > 0 && $y <= $giorni_nel_mese) {
                if ($y == date('d') && $month == date('m') && $year == date('Y')) {
                    echo " class='daycolor' ";
                }
                echo ">$y";
            } else {
                echo " class='empty'>&nbsp;";
            }
            echo "</td>";
        }
        echo "</tr>";
        if ($y >= $giorni_nel_mese && $i < 6)
            break;
    }
    // creiamo un piccolo menu di navigazione
    $before = explode('-', date('m-Y', mktime(0, 0, 0, $month - 1, 1, $year)));
    $next = explode('-', date('m-Y', mktime(0, 0, 0, $month + 1, 1, $year)));
    $prossimo = nome_mese((int) $next[0]);
    $precedente = nome_mese((int) $before[0]);

    echo "<tr>";
    echo "<td class='red' colspan='7'>";
    echo " <a href='" . $_SERVER['PHP_SELF'] . "?m=" . $before[0] . "&y=" . $before[1] . "'>$precedente</a>";
    echo " << &nbsp; >> <a href='" . $_SERVER['PHP_SELF'] . "?m=" . $next[0] . "&y=" . $next[1] . "'>$prossimo</a>";
    echo "</td>";
    echo "</tr>";
    echo "</table>";
}
?>

E' sufficiente incollare ilcodice in una vostra pagina e lavorarci un attimo per personalizzarlo.
 
Ultima modifica: 5 Set 2013
Devi accedere o registrarti per poter rispondere.

Discussioni simili

A
Web master per semplice sito web
  • alpha7676
  • 14 Set 2022
  • Offerte e Richieste di Lavoro e/o Collaborazione
Risposte
2
Visite
2K
Offerte e Richieste di Lavoro e/o Collaborazione 24 Gen 2023
gio1999
G
M
Semplice visualizzatore di immagini [risolto con plugin wp]
  • master1986
  • 28 Mar 2020
  • PHP
Risposte
7
Visite
2K
PHP 30 Mar 2020
master1986
M
L
[PHP] cambiare gli if in un url semplice
  • luigi777
  • 6 Ago 2019
  • PHP
Risposte
1
Visite
1K
PHP 7 Ago 2019
Tommy03
L
[PHP] convertire gli url ad forma semplice
  • luigi777
  • 27 Apr 2019
  • PHP
Risposte
3
Visite
2K
PHP 28 Apr 2019
luigi777
L
G
Caricare una semplice Jpg con il PHP
  • Gianky4747
  • 7 Apr 2019
  • PHP
Risposte
1
Visite
1K
PHP 7 Apr 2019
Max 1
  • Bloccata
qual è il modo più semplice per creare file GIF di alta qualità?
  • Federico.Marcelo
  • 4 Set 2018
  • Webdesign e Grafica
Risposte
4
Visite
2K
Webdesign e Grafica 26 Set 2018
LinuxOhYeah
L
V
Semplice barra di ricerca con filtro categorie prodotti
  • vidmotion
  • 24 Lug 2018
  • E-Commerce
Risposte
0
Visite
2K
E-Commerce 24 Lug 2018
vidmotion
V
Z
Semplice area privata in php
  • zagorcico
  • 6 Mag 2018
  • PHP
Risposte
6
Visite
2K
PHP 7 Mag 2018
marlev
M
M
Un semplice saluto
  • manalu
  • 29 Mag 2017
  • Presentati al Forum
Risposte
1
Visite
826
Presentati al Forum 29 Mag 2017
borgo italia
T
Visualizzare un Xml su un sito in modo semplice
  • tabache
  • 18 Mag 2017
  • XML
Risposte
1
Visite
3K
XML 19 Mag 2017
criric
X
[Photoshop] Cercasi strumento per ottenere un semplice effetto.
  • XDjAntonioX
  • 8 Mar 2017
  • Photoshop
Risposte
6
Visite
2K
Photoshop 9 Mar 2017
XDjAntonioX
X
J
[PHP] sviluppare una semplice calcolatrice
  • jotes
  • 27 Dic 2016
  • PHP
Risposte
1
Visite
2K
PHP 27 Dic 2016
Max 1
[PHP] Domanda semplice (apparantemente)
  • booklisa
  • 24 Nov 2016
  • PHP
Risposte
4
Visite
2K
PHP 25 Nov 2016
booklisa
R
[PHP] Semplice form
  • ricdil
  • 22 Nov 2016
  • PHP
Risposte
4
Visite
2K
PHP 22 Nov 2016
ricdil
R
G
[CERCO][Retribuito] Programmatore Windows per un semplice software
  • Galerio
  • 22 Ott 2016
  • Offerte e Richieste di Lavoro e/o Collaborazione
Risposte
0
Visite
2K
Offerte e Richieste di Lavoro e/o Collaborazione 22 Ott 2016
Galerio
G
Costruire una semplice chat in PHP non è affatto semplice.
  • MarcoGrazia
  • 27 Apr 2016
  • PHP
Risposte
3
Visite
2K
PHP 7 Gen 2017
MarcoGrazia
G
aiuto per semplice menu onclick
  • gabriele1
  • 25 Lug 2015
  • HTML e CSS
Risposte
6
Visite
2K
HTML e CSS 27 Lug 2015
Max 1
T
Problema Semplice Script
  • tantacacca
  • 6 Mar 2015
  • Javascript
Risposte
1
Visite
2K
Javascript 7 Mar 2015
criric
Creazione semplice autorisponditore con redirect
  • Mr. Alex D.
  • 5 Feb 2015
  • PHP
Risposte
1
Visite
1K
PHP 5 Feb 2015
borgo italia
M
Casella di ricerca completa, invece di semplice ricerca tra tag
  • Membro cancellato 26246
  • 12 Ago 2014
  • HTML e CSS
Risposte
0
Visite
1K
HTML e CSS 12 Ago 2014
Membro cancellato 26246
M
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • Snippet
  • Snippet PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?