Vedi un po' se e' quello che cercavi? correggi solo la connessione e il db, le prime righe, perche' le ho adattate al mio test.

Codice PHP:
$connect mysql_connect() or die ("Non connesso");
mysql_select_db('test');
$query "SELECT * FROM disponibilita where id = 1";
$esegui mysql_query($query$connect);

// stampo prima la riga con i giorni.
echo"<table border='1' width='25%'><tr>
     <td width='10%'>Giorno</td>
    "
;

// ciclo for per la stampa dei giorni
for ( $contatore=1$contatore <= 31$contatore++)   {

$var 'g' $contatore;

echo 
"
    <td width='10%'>
$contatore</td>
    "
;
}
// chiudo la riga e stampo l'intestazione della seconda.
echo "</tr>
      <tr><td>Disponibilita'</td> "
;

// preparo l'array per i colori
$color = array ("Completo" => "red""Disponibile" => "green""0" => "black");

// estraggo il record. E' uno solo non serve il while
$result mysql_fetch_array($esegui);

// ciclo for per scorrere i risultati
for ($contatore=1$contatore <= 31$contatore++)  {

$var 'g' $contatore;

$bgcolor 'bgcolor="' $color[$result[$var]] . '"';

// Stampiamo il bground color del td
echo "<td width='10%' $bgcolor></td>
"
;
}  
//chiudo il for

// chiudo tr e tabella
echo "</tr></table>" ;

// ciao ciao micio micio. 
Come vedi tutta questione di html....