Sto creando un calendario, in cui poi andrò ad inserire degli eventi, però sto incontrando dei problemi.
Cominciamo col codice, questo:
Codice PHP:
<?
echo "<table width=\"623\" align=\"center\" border=\"0\" bordercolor=\"#0279d1\" bgcolor=\"#cccccc\" cellpadding=\"0\" cellspacing=\"0\">";
echo "<tr height=\"30\" bgcolor=\"#0279d1\">";
$conta = 0;
for ($i=0;$i<7;$i++){
$conta = $conta+1;
if ($conta == 7) {
echo "<td width=\"89\" bgcolor=\"#cc66cc\" align=\"center\"><font color=\"#ffffff\">[b]".$giorno[$i]."[/b]</font></td>";
} else
echo "<td width=\"89\" align=\"center\"><font color=\"#ffffff\">[b]".$giorno[$i]."[/b]</font></td>";
}
echo "</tr>";
$primo=mktime(0,0,0,$mm,1,$aa);
$delta=date("w",$primo)-1;
echo "<tr bgcolor=\"#ffffff\" height=\"89\" align=\"center\" valign=\"top\">\n";
for ($i=0;$i<$delta;$i++){
echo "<td bgcolor=\"#cccccc\"></td>";
}
for ($i=1;$i<=date("t",$primo);$i++){
if (($i+$delta)%7==1) echo "<tr bgcolor=\"#ffffff\" height=\"89\" align=\"center\" valign=\"top\">";
if (($i==date("d"))&&($mm==date("n"))&&($aa==date("Y"))) {
echo "<td style='border:1px solid #0279d1; background:#D9EFFF;'>[b]<font color=\"#0279d1\">".$i."</font>[/b]</td>";
} else
echo "<td style='border:1px solid #0279d1;'>".$i."</td>";
if (($i+$delta)%7==0) echo "</tr>";
}
echo "</table>\n";
?>
Lo cosa strana è che:
- se il primo del mese cade di domenica, invece di mettere la casella del giorno 1 nell'ultima colonna a destra della tabella, la mette nella prima (equivalente a lunedi); questo succede per i mesi di aprile e luglio 2007, ad es.
- se il primo del mese cade di lunedì (gennaio ed ottobre 2007), mette correttamente la casella del giorno 1 nella prima colonna, però mi crea una prima riga di sette caselle vuote.
Dove è l'errore, che io (mannaggia ai fahreneit!...) non riesco a vederlo?
E già che ci siamo, poichè alcuni mesi (ad es. aprile e luglio 2007) sono spalmati su sei settimane, mentre gli altri soltanto su cinque, come posso far aggiungere (solo in questi casi) una riga vuota alla tabella, in modo che sia sempre della stessa dimensione?
Thanx_in_advance