- Home
- Categorie
- Coding e Sistemistica
- PHP
- calendario in php
-
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>
<?phpif (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;
-
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!
-
mi e' sfuggito qualche cosa a me....
funziona...
mille grazie....
ma dove sbagliavo io?
-
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
-
Comunque grazie