Ciao a tutti.

Sto facendo un calendario, ma mi sono bloccato:

codice:
<?php

// creo la data
$data=getdate();

$anno = $data[year];
$mese = $data[mon];
$giorno = $data[mday];
$now = $data[mday];
$wday = $data[weekday];
$ore = $data[hours];
$minuti = $data[minutes];
print ("$giorno, $mese, $wday");
//creo la tabella
print("<table border=1>
			<tr>
            	<td>
                	Domenica
                </td>

            	<td>
                	Lunedi
                </td>
            	<td>
                	Martedi
                </td>
            	<td>
                	Mercoledi
                </td>
            	<td>
                	Giovedi
                </td>
            	<td>
                	Venerdi
                </td>
            	<td>
                	Sabato
                </td>
            </tr>
            <tr>
		");
// conto i giorni
for ($giorno=1; $giorno<=31 ;$giorno++)
		{

        	if(checkdate($mese,$giorno,$anno))	{
            		$date=("$mese/$giorno/$anno");
                        $data = mktime(0,0,0, $mese, $giorno, $anno);
                        $date = date("w", $data); //estraggo il numero del giorno

		while($date>$a)
                        	{
                                   print("<td></td>");
                                 $a++;
                                 }
// creo la settimana. quando $date=0 vado a capo. $date=0 rappresenta la domenica
                if($date=="0")	{
	              if ($now==$giorno)  {
                               print("</tr><tr><td bgcolor=#E2E2E2>$giorno,$date</td>");
	                                                    }
	              else    {
	                       print("</tr><tr><td>$giorno,$date</td>");
                                                    }
	                                }


                            else		{
                            		if($now==$giorno)	{
								                            print("<td bgcolor=#E2E2E2>$giorno,$date</td>");
                                                            }
                                                            else
                                                            {
                                                            print("<td >$giorno,$date</td>");
                                                            }
                            		}

            		}
            	else	{
            }
        }
?>
Ecco il mio problema sta nel fatto che non riesco a far iniziare il mese nel giusto modo.ecco come inizia questo mese:

Come si può intuire la prima settimana non mi si allinea bene.

Suggerimenti?

Ciao e grazie,
Ale