Salve ho trovato un semplice calendario che si generava in php, e mi sono messo a smanettare per vedere di inserirci anche delle freccette per andare avanti o indietro nei mesi, e la cosa pareva andare bene fino a che, andando avanti con le freccette mi sono reso conto che non mi veniva visualizzato novembre e non riesco a capire per quale barbaro motivo non voglia uscire
non fate caso ai numeri che appaiono quando provata a farlo funzionare perche erano una prova..............spero che mi possiate aiutare a capire questa cosa strana
Codice PHP:
//Trovo i dati fondamentali:     
$dati['giorni_mesi'] =  array(31031303130313130313031); // Array con i giorni dei mesi     
$dati['mese_num'] = date("n",  time()); // Mese corrente ( numerico )     
if ($st==){     $p=$_GET['p'];     $p++;     $dati['mese_num']=$dati['mese_num']+$p;     $m=$dati['mese_num'];     } elseif ($st==2){     $p=$_GET['p'];             if ($p==0){echo "NO";}             else{             $p--;             $m=$_GET['m'];             $dati['mese_num']=$m-1;             $m=$dati['mese_num'];     }}     else{     $p=0;     }          
$dati['mese_text'] = date("F"time()); // Mese Corrente ( testuale )     
$dati['oggi'] = date("j"time()); // Oggi ( numerico senza eventuali zeri )     $dati['oggi_sett'] = date("w", time()); // Oggi ( nella settimana, numerico )     
$dati['anno'] = date("Y"time()); // Anno     $dati['start'] = date("w", mktime(0,0,0, $dati['mese_num'], 1, $dati['anno'])); // Giorno della settimana del primo giorno dell'anno     $dati['giorni_mesi'][1] = (($dati['mese_num']%400) == 0) ? 29 : 28; // Calcolo dei giorni di febbraio     
$dati['giorni_mese'] = $dati['giorni_mesi'][$dati['mese_num']-1]; // Giorni del mese corrente     
$dati['settimane_mese'] = ceil($dati['giorni_mese']/7); // Settimane del mese corrente arrotondato per eccesso.               echo "$p "; echo $dati['mese_num'];           $info['can_start'] = FALSE; // Se il conteggio reale dei giorni può partire     $info['to_less'] = 0; // Giorni da accumulare      $text = '<div  align="center" class="lista">     <tr>     <td> <form action="calendarioprenotazioni.php?st=2&m='.$m.'&p='.$p.'" method="post"> <input value="<<" type="submit"> </form> </td>     
<td>'.$dati['mese_text'].'</td>     
<
td><form action="calendarioprenotazioni.php?st=1&p='.$p.'" method="post"> <input value=">>" type="submit" > </form> </td>     
</
tr>     </div>'.     '<table align="center" border="1">         
<
tr>             <td class="lista">LU</td>             <td class="lista">MA</td>             <td class="lista">ME</td>             <td class="lista">GI</td>             <td class="lista">VE</td>             <td class="lista">SA</td>             <td class="lista">DO</td>         </tr>'; // Schema fisso dei giorni della settimana       
for($ciclo = 0; $ciclo < $dati['
settimane_mese']; $ciclo++)     
{         $text .= '
<tr>'; // Aggiungo una griglia                   for($subciclo = 1; $subciclo <= 7; $subciclo++)         {             if($subciclo != $dati['start'] && $info['can_start'] == FALSE)             {                  $text .= '<td class="lista"></td>'; // 
1) Aggiungo una casella vuota                 
$info['
to_less']++; // 2) Aggiungo un giorno da levare                  continue; // 3) Faccio ricominciare il ciclo finchè uno dei due casi si riveli TRUE             }             
else             {                 
$info['
can_start'] = TRUE; // Muto il valore di can_start in TRUE             }                                   
$dati['
current_day'] = $subciclo+($ciclo*7)-$info['to_less']; // Calcolo il giorno da mostrare                          
if($dati['
current_day'] <= $dati['giorni_mese'])             {                  if($dati['current_day'] == $dati['oggi']) // Controllo se il giorno da mostrare è quello di oggi                 {                     
$tdclass = '
cale'; // Cambio stile in 'oggi' se è oggi                 } else {                     $tdclass = 'lista'; // Cambio stile in 'Default' se non è oggi                 }                  
$text .= '
<td class="'.$tdclass.'">'.$dati['current_day'].'</td>'; // Poi aggiungo la cella             } 
else {                              break;             }                       }          $text .= '
</tr>'; // Chiudo la griglia     }      $text .= '</table>'; // Chiudo la tabella     echo $text;     ?>