• User Attivo

    calendario in php

    Ciao a tutti...
    ho trovato in rete questo codice per un calendario molto carino da inserire nelle pagine web ... anche con possibilita' di mettere annunci , pero' in inglese . L'ho modificato come ritenevo per trasformarlo in italiano ,pero' quando mi si apre mi da' solo l'anno 2008 senza il mese...
    andando a scorrere avanti e indietro mi compaiono i mesi giusti in IT
    voi potete aiutarmi....
    grazie

    </script>
    <script type="text/JavaScript">
    function popupEvent(day, month, year, w, h) {
    var winl = (screen.width - w) / 2;
    var wint = (screen.height - h) / 2;
    win = window.open("popup.php?day=" + day + "&month=" + month + "&year=" + year + "","Calendar","scrollbars=yes, status=yes, location=no, toolbar=no, menubar=no, directories=no, resizable=yes, width=" + w + ", height=" + h + ", top=" + wint + ", left=" + winl + "");
    if (parseInt(navigator.appVersion) >= 4) {
    win.window.focus();
    }
    }
    </script>
    </head>
    <body>
    <script type="text/JavaScript">
    var ol_width=140;
    var ol_delay=10;
    var ol_fgcolor="#FFFFFF";
    var ol_bgcolor="#AAAAAA";
    var ol_offsetx=10;
    var ol_offsety=10;
    var ol_border=1;
    var ol_vauto=1;
    </script>
    <div id="overDiv" style="position: absolute; visibility: hidden; z-index: 1000;"></div>
    <script type="text/JavaScript" src="overlib_mini.js"><!-- overLIB (c) Erik Bosrup --></script>
    <center>
    <?php

    if (empty($_GET['month'])) {
    $month= date('m');
    } else {
    $month = $_GET['month'];
    }
    if (empty($_GET['year'])) {
    $year = date('Y');
    } else {
    $year = $_GET['year'];
    }
    $theday = date('w', mktime(0, 0, 0, $month, 1, $year));
    $daysinmonth = date("t", mktime(0, 0, 0, $month, 1, $year));
    ?>
    <table cellspacing="1" cellpadding="0" border="0" class="mainTable">
    <tr>
    <td align="center" colspan="7" class="monthRow">
    <a href="<?php echo $_SERVER['PHP_SELF']; if ($month == '01') { $prevmonth = '12'; $prevyear = $year - 1; echo '?month='. $prevmonth; echo '&year=' . $prevyear; } else { $prevmonth = $month - 1; echo '?month=' . $prevmonth; echo '&year=' . $year; } ?>">«</a>
    <?php
    $mese = array (1 => "Gennaio", "Febbraio", "Marzo", "Aprile",
    "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre");
    $monthName = date('F', mktime(0, 0, 0, $month, 1, $year));
    $yearName = date('Y', mktime(0, 0, 0, $month, 1, $year));
    echo ("$mese[$month]" ." ". "$yearName");
    ?>
    <a href="<?php echo $_SERVER['PHP_SELF']; if ($month == '12') { $nextmonth = '01'; $nextyear = $year + 1; echo '?month=' . $nextmonth; echo '&year=' . $nextyear; } else { $nextmonth = $month + 1; echo '?month=' . $nextmonth; echo '&year=' . $year; } ?>">

    IN ROSSO HO SEGNATO LE MIE MODIFICHE
    ORIGINALE ERA
    echo $monthName . ' ' . $yearName;

    :gthi:


  • User Attivo

    ciao!
    allora, io avrei utilizzato un approccio diverso per costruire il calendario in italiano: infatti io utilizzerei come indice dell'array i nomi in inglese dei mesi.
    Cosicché non c'è alcun bisogno di trovare il numero, da 1 a 12, del mese corrente.

    perciò il codice lo trasformerei così:
    [php]
    <?php
    $mese["January"] = "Gennaio";
    $mese["February"] = "Febbraio";
    $mese["March"] = "Marzo";
    $mese["April"] = "Aprile";
    $mese["May"] = "Maggio";
    $mese["June"] = "Giugno";
    $mese["July"] = "Luglio";
    $mese["August"] = "Agosto";
    $mese["September"] = "Settembre";
    $mese["October"] = "Ottobre";
    $mese["November"] = "Novembre";
    $mese["December"] = "Dicembre";

    $monthName = date('F', mktime(0, 0, 0, $month, 1, $year));
    $yearName = date('Y', mktime(0, 0, 0, $month, 1, $year));
    echo $mese[$monthName]." ".$yearName;
    ?>
    [/php]
    Un'ultima domanda: la paginazione funziona solo verso i mesi precedenti. Lo hai voluto tu o c'è qualcosa che ti è sfuggito?:?

    Ciao!:ciauz:


  • User Attivo

    mi e' sfuggito qualche cosa a me....
    funziona...
    mille grazie....
    ma dove sbagliavo io?


  • User Attivo

    penso, ma non ne sono sicurissimo, nel fatto che andavi a cercare il numero del mese e ti ritornava un numero come 07.
    Però l'indice dell'array non era composto da numeri a due cifre ma da numeri ad una cifra, come 7.
    Quindi penso che non ci fosse corrispondenza, ma ripeto non ne sono sicuro 🙂


  • User Attivo

    Comunque grazie:sun::sun::sun: