Menù

Demo

Marzo

Scorri la pagina per far apparire il calendario

1LMMGVSDLMMGVSDLMMGVSDLMMGVSDLM
12345678910111213141516171819202122232425262728293031
  • aggiornato il 31/01/2025 15:02:19

Top 5

Calendario orizzontale

Creiamo un calendario in orizzontale con due cicli php. Il calendario è stato posizionato in cima alla pagina grazie alla proprietà position dei css. Formattazione css

<style type="text/css">
    table.cal_oriz{
        text-align:center;
        border-collapse: collapse;
        position: fixed;
        top:0;
        left:0;
        background-color: white;
        width: 100%;
        border:2px solid #053E85;
    }
    table.cal_oriz tr {
        border-bottom:1px solid #053E85;
    }
    table.cal_oriz td {
        padding:5px;
    }
    table.cal_oriz td.dom{
        background-color:#053E85;
        color: #FFF;
    }
    table.cal_oriz td.sab{
        background-color: #CBCBCB;
    }
    table.cal_oriz td.oggi{
        border:2px solid #053E85;
        font-weight:bold;
    }
</style>

I cicli php

<?php

$month = date('m');
$year = date('Y');
$oggi = date("d");
$giorni_settimana = array(1, "L", "M", "M", "G", "V", "S", "D");
$mese = array('Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno', 'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', 'Dicembre');
$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 "<p>" . $mese[($month - 1)] . "</p>";
echo "<table class='cal_oriz'>";
echo "<tr>";
$g = $primo_del_mese;
for ($i = 1; $i <= $giorni_nel_mese; $i++) {
    $classe = "";
    if ($giorni_settimana[$g] == "D") {
        $classe = " class=\"dom\"";
    } elseif ($giorni_settimana[$g] == "S") {
        $classe = " class=\"sab\"";
    }
    echo "<td $classe>" . $giorni_settimana[$g] . "</td>";
    if ($g == 7) {
        $g = 1;
    } else {
        $g++;
    }
}
echo "</tr>";
echo "<tr>";
for ($i = 1; $i <= $giorni_nel_mese; $i++) {
    $classe = "";
    if ($i == $oggi) {
        $classe = " class=\"oggi\"";
    }
    echo "<td $classe>$i</td>";
}
echo "</tr>";
echo "</table>";

Aggiornamento 8/12/2014

Ho aggiunto i backslash nel codice php per evitare errori di sintassi. Ho modificato il css con quello dell'esempio. Ora dovrebbe funzionare anche con il copia/incolla. Grazie a Carlo per la segnalazione.

criric

Mi sono appassionato di programmazione web a 34 anni, un pò tardi, da allora però non perdo mai occasione per imparare qualcosa di nuovo in questi campi.

Javascript - Html - Css - Php - Mysql

Inserisci un commento

Codice antispam

Categorie

Comunicazioni

Puoi utilizzare questo modulo per qualsiati tipo di segnalazione.

Codice antispam

 

I dati di questo modulo non verranno pubblicati.