Originariamente inviato da elysaweb
Ciao a tutti! Sto utilizzando questo script per la realizzazione di un calendario dinamico perpetuo. L'unico problema è che quando il 1 giorno del mese capita di domenica, lo script me lo sposta al lunedì precedente (come potete vedere
qui ).
Ho provato a guardare il codice ma non capisco dov'è il problema. Spero che qualcuno mi possa aiutare!
Codice PHP:
$giorno = Array("L","M","M","G","V","S","D");
$nomemese = Array("Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno", "Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre");
$aa=$_REQUEST['aa'];
if ($aa=="") $aa=date("Y");
$mm=$_REQUEST['mm'];
if ($mm=="") $mm=date("n");
$anno=$aa; $mese=$mm;
if ($mese==1) $back="aa=".($anno-1)."&mm=12";
else $back="aa=".$anno."&mm=".($mese-1);
if ($mese==12) $next="aa=".($anno+1)."&mm=1";
else $next="aa=".$anno."&mm=".($mese+1);
print " <div align='center'>";
print "<a href=\"?".$back."\">«</a> ";
print "[b]".$nomemese[$mm-1]." ".$aa."[/b] ";
print "<a href=\"?".$next."\">»</a>";
print " </div>";
$n_date = $i.$mm.$Y;
print "<table align=\"center\">";
// ciclo per i giorni della settimana
print " <tr>";
for ($i=0;$i<7;$i++){
print " <th>".$giorno[$i]."</th>";
}
print " </tr>";
$primo=mktime(0,0,0,$mm,1,$aa); //calcolo il primo giorno del mese
$delta=date("w",$primo)-1;
/*===============================================*/
if($delta == -1) $delta = 6; // <-- Aggiungi Questa riga qui
/*===============================================*/
print " <tr>\n";
for ($i=0;$i<$delta;$i++){
print " <td></td>";
}
for ($i=1;$i<=date("t",$primo);$i++){
if (($i+$delta)%7==1) print " <tr>"; //inizio riga
if (($i==date("d"))&&($mm==date("n"))&&($aa==date("Y"))) {
print " <td style='border:1px solid #f00'><a href=\"result_cal.php?d=$i&n=$mm&y=$aa\">".$i."</a></td>";
} else print " <td><a href=\"result_cal.php?d=$i&n=$mm&y=$aa\">".$i."</a></td>";
if (($i+$delta)%7==0) print " </tr>"; //chiusura riga
}
print "</table>\n";
Basta poco che ce vo'..