Il nome del mese mi è necessario, purtroppo è questo che mi è stato commissionato.
Tra l'altro ora ho avuto modo di provarlo e ho visto che non funziona... Non mi visualizza niente (se non l'intestazione della tabella). Sarà dura adesso trovare il bug, in mancanza di conoscenze sono andato secondo la "logica del programmatore", ma a quanto pare non è bastata e ho poco tempo a disposizione :master:
Questo codice è davvero MOLTO complesso, almeno per me.
Non capisco dove faccia acqua... Ho seguito questo procedimento:
1) Faccio la SELECT in base al mese selezionato.
Codice PHP:
if($mese=='gennaio'){
$q = "SELECT * FROM valutazioni WHERE Valutazione_classe='$classe' AND valutazione_sezione='$sezione' AND Valutazione_fascia='$fascia' AND Valutazione_data_voto='%-01-%'";
}
2) Divido il codice in tre parti, una per ogni lunghezza dei mesi (30 giorni, 31 giorni e 29):
Codice PHP:
if(($mese=='gennaio') OR ($mese=='marzo') OR ($mese=='maggio') OR ($mese=='luglio') OR ($mese=='agosto') OR ($mese=='ottobre') OR ($mese=='dicembre')){
//creazione intestazione tabella di 31 giorni
3) Estraggo le informazioni per uno specifico mese.
Codice PHP:
if($mese=='gennaio'){
for($i=0;$i<$num;$i++){
$cognome=mysql_result($query,$i, "Valutazione_alunno_cognome");
$nome=mysql_result($query,$i, "Valutazione_alunno_nome");
echo "<tr>"; echo "<td class="."tabDispari".">$nome
$cognome</td>";
4) all'interno dello stesso for, creo un altro for per visualizzare i voti di ogni alunno estranno.
Codice PHP:
for($k=1;$k<31;$k++){
$ris = "SELECT * FROM Valutazioni WHERE Valutazione_alunno_cognome='$cognome' AND valutazione_alunno_nome='$nome' AND Valutazione_data_voto='%-01-$k'";
$data=mysql_result($ris,$k, "Valutazione_data_voto");
$voto=mysql_result($ris,$k, "Valutazione_voto");
echo "<td class="."tabDispari".">$voto</td>";
Potrebbe essere colpa di quest'ultima parte di codice. Siccome gli alunni hanno il voto solo in certi giorni del mese, magari quando controlla un giorno in cui non c'è nulla (e dunque non trova il record) gli dà fastidio... Se è questo c'è un modo per dirgli: "se non lo trovi, lascia uno spazio bianco"?