ciao a tutti ho creato uno script che genera un calendario e tramite una query ad una tabella t_eventi vede se tot giorno è presente un appuntamento e lo segnala nel calendario.
il problema sorge quando in un giorno inserisco piu appuntamenti...li si sballa tutto il sistema!

il codice sql della tabella è il seguente:

codice:
CREATE TABLE t_eventi(
 eventoID int not null primary key auto_increment,
 e_data date,
 e_ora TIME,
 e_titolo varchar(150),
 e_descrizione TEXT ,
 e_path VARCHAR(255),
 e_status INT default 0, 
 cod_user_id int not null references t_utenti(userID)
)TYPE=INNODB;
mentre il codice php del calendario è il seguente:

Codice PHP:
<?

function casellavuota(){
   echo(
"<td width=\"25\" align=\"center\" class=\"tab_quarta\">"."&nbsp"."</td>");
}

function 
evento($var){
  include(
"conn/connect.php");
  
$today=date("Y-m-d");
  
$select="SELECT * FROM t_eventi WHERE e_data >= ".$today." ";
  
$recordset=mysql_query($select);
  if (!
$recordset){
    echo(
"Errore!!!!");
  }
  for (
$w=0$w<=$var;$w++){
     
$record=mysql_fetch_array($recordset);
  }
  return 
$record["e_data"];

}
//stampa del mese 
$i date("m");
switch (
$i) {
    case 
'01':
       
$mese 'Gennaio';
       break;
    case 
'02':
       
$mese 'Febbraio';
       break;
    case 
'03':
       
$mese 'Marzo';
       break;
    case 
'04':
       
$mese 'Aprile';
       break;
    case 
'05':
       
$mese 'Maggio';
       break;    
    case 
'06':
       
$mese 'Giugno';
       break;
    case 
'07':
       
$mese 'Luglio';
       break;
    case 
'08':
       
$mese 'Agosto';
       break;
    case 
'09':
       
$mese 'Settembre';
       break;
    case 
'10':
       
$mese 'Ottobre';
       break;
    case 
'11':
       
$mese 'Novembre';
       break;
    case 
'12':
       
$mese 'Dicembre';
}

//stampa della parte superiore L M M G V S D niente di che 
echo("<table border=\"0\" width=\"100\">");
echo(
"<tr>");
echo(
"<td colspan=\"7\">");
echo(
"[b]".$mese."[/b]");
echo(
date("[b]"." Y"."[/b]"));
echo(
"</td>"."</tr>");
echo(
"<tr>"."<td  align=\"center\">");
echo(
"[b]<font color=\"#FFFFFF\">L</font>[/b]"."</td>");
echo(
"<td  align=\"center\" class=\"tabmenu_voce\">"."[b]<font color=\"#FFFFFF\">M</font>[/b]"."</td>");
echo(
"<td  align=\"center\" class=\"tabmenu_voce\">"."[b]<font color=\"#FFFFFF\">M</font>[/b]"."</td>");
echo(
"<td  align=\"center\" class=\"tabmenu_voce\">"."[b]<font color=\"#FFFFFF\">G</font>[/b]"."</td>");
echo(
"<td width=\"25\" align=\"center\" class=\"tabmenu_voce\">"."[b]<font color=\"#FFFFFF\">V</font>[/b]"."</td>");
echo(
"<td align=\"center\" class=\"tabmenu_voce\">"."[b]<font color=\"#FFFFFF\">S</font>[/b]"."</td>");
echo(
"<td  align=\"center\" class=\"tabmenu_voce\">"."[b]<font color=\"#CC0000\">D</font>[/b]"."</td>"."</tr>");


$k=date("D"mktime(23,1,0,$i,01,2006));
switch (
$k){
    case 
'Mon':
       
$cont 0;
       break;
    case 
'Tue':
       
$cont 1;
       break;
    case 
'Wed':
       
$cont 2;
       break;
    case 
'Thu':
       
$cont 3;
       break;
    case 
'Fri':
       
$cont 4;
       break;
    case 
'Sat':
       
$cont 5;
       break;
    case 
'Sun':
       
$cont 6;
       break;
}
echo(
"<tr>");
for (
$ind=1$ind<=$cont$ind++){
   
casellavuota();
}
if (
$i == '02'){
   
$limit 28;
}elseif ((
$i == '01')||($i == '03')||($i == '05')||($i == '07')||($i == '08')||($i == '10')||($i == '12')){
   
$limit 31;
}else{
   
$limit 30;
}
$oggi date("d");
$oggiext=date("Y-m-d");
$num0;

//inizio controlli
for ($j=1$j<=$limit$j++){
  
$l date("D"mktime(23,1,0,$i,$j,2006));
  
$event=evento($num);
  
//se l'evento è uguale al giorno d'oggi me lo stampa
  
if(($event == date("Y-m-d"mktime(23,1,0,$i,$j,2006)))&&($event == date("Y-m-d"mktime(23,1,0,$i,$j,2006)))&&($oggi== date("d"mktime(23,1,0,$i,$j,2006)))){
   echo(
"<td align=\"center\" class=\"tab_terza\">"."<a class=\"link_n\" href=\"dettaglioevento.php?data_evento=$event\">[b]".$j."[/b]</a>"."</td>");
   if(
$l=='Sun'){
   echo(
"</tr>"."<tr>");
   }
$num++;
   }
   elseif((
$l=='Sun')&&($event==date("Y-m-d"mktime(23,1,0,$i,$j,2006)))){
      echo(
"<td align=\"center\" class=\"tabmenu_intest_cal\">"."<a class=\"link\" href=\"dettaglioevento.php?data_evento=$event\">".$j."</a>"."</td>");
      echo(
"</tr>"."<tr>");
      
$num++;
   }
   elseif((
$l=='Sun')&&($oggi== date("d"mktime(23,1,0,$i,$j,2006)))){
      echo(
"<td align=\"center\" class=\"tab_terza\">[b]".$j."[/b]</td>");
      if (
$l=='Sun'){
         echo(
"</tr>"."<tr>");
      }
   }
   elseif(
$oggi== date("d"mktime(23,1,0,$i,$j,2006))&&($event == date("Y-m-d"mktime(23,1,0,$i,$j,2006)))){
      echo(
"<td align=\"center\" class=\"link\">"."<a class=\"link\" href=\"dettaglioevento.php?data_evento=$event\">".$j."</a>"."</td>");
   }
   elseif(
$l=='Sun'){
      echo(
"<td align=\"center\" class=\"tabellachiara\">".$j."</td>");
      echo(
"</tr>"."<tr>");
   }
   
//stampa di tutti gli altri eventi presenti
   
elseif($event==date("Y-m-d"mktime(23,1,0,$i,$j,2006))){
      echo(
"<td align=\"center\" class=\"tabmenu_intest_cal\">"."<a class=\"link\" href=\"dettaglioevento.php?data_evento=$event\">".$j."</a>"."</td>");      
      
$num++;
   }

   elseif(
$oggiext == date("Y-m-d"mktime(23,1,0,$i,$j,2006))){
      echo(
"<td align=\"center\" class=\"tab_terza\">[b]".$j."[/b]</td>");
   }
   elseif(
$l <> 'Sun'){
      echo(
"<td align='center' class='tabellachiara'>".$j."</td>");
   }  
}



for (
$ind=1$ind<=$cont-1$ind++){
   
casellavuota();
}
echo(
"</tr>");
echo(
"</table>");
?>
il codice è un pò incasinato...ringrazio chiunque mi aiuti!