Calendario orizzontale

spacca!  4 scarso!  0 versione stampa invia per email scheda utente totale visite  1067
Creiamo un calendario in orizzontale con due cicli php. Il calendario è stato posizionato, nell'esempio, 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.
 
 

Inserisci un commento

non sei loggato

CAPTCHA