Ciao a tutti, qualche giorno fa ho messo un post per poter salvare più informazione dal data base per memorizzarle in diverse variabili... fin qui tutto ok, sono riuscito ma modificare la programmazione suggerita per memorizzarle e usarle fuori dal ciclo WHILE... ho fatto questo per i colori... cioè a una certa data la volevo colorare di rosso o blu a seconda cosa succedeva quel giorno, per funzionare funziona ma non capisco perchè quando inserisco una nuova data se così vuol dire il calendario non mi colora più un numero (che c'è ancora nel db) per colorare quello nuovo... non ci sto più capendo nulla, teoricamente ogni info passa al istruzione if che le passa una a una, in questo caso giorno per giorno... ma in alcuni casi salta quel giorno che deve essere colorato... vediamo se qualcuno capisce il perchè...
Codice PHP:
<?php
$num = 1;
$col = 1;
include "config.php";
include "connessione.php";
// inizio query per trovare il colore che corrisponderà all'impegno del giorno preso
$query = "SELECT colore FROM prova";
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)) {
$colore[$col] = $row['colore'];
$col++;
} //fine ciclo while
// inizio query per trovare il giorno dell ' impegno
$queryb = "SELECT giorno FROM prova";
$resultb = mysql_query($queryb);
while ($rowb = mysql_fetch_array($resultb)) {
$var[$num] = $rowb['giorno'];
$num++;
} // fine ciclo while
// Test array
// echo "$var[1] $var[2] $var[3] $var[4] $var[5] $var[6] $var[7] $var[8] $var[9]
";
// echo "$colore[1] $colore[2] $colore[3] $colore[4] $colore[5] $colore[6] $colore[7] $colore[8] $colore[9]
";
//Trovo i dati fondamentali:
$mesi = array(
1 => "Gennaio",
2 => "Febbraio",
3 => "Marzo",
4 => "Aprile",
5 => "Maggio",
6 => "Giugno",
7 => "Luglio",
8 => "Agosto",
9 => "Settembre",
10 => "Ottobre",
11 => "Novembre",
12 => "Dicembre"
);
$oggi = date("j", time()); // Oggi ( numerico senza eventuali zeri )
$anno = date("Y", time()); // Anno
$mese = date("n", time()); // mese
$oggi_sett = date("w", time());// Oggi ( nella settimana, numerico )
$mese_text = date("n"); // Mese Corrente ( testuale )
$giorni_mese = date("t",mktime (0, 0, 0, $mese, 1, $anno)); // giorni del mese in questione
$primo_giorno = date("w",mktime(0, 0, 0, $mese, 1, $anno)); // calcolo il primo giorno della sett... array parde da 0 = domenica
$tabella = 7;
if ($primo_giorno == 0){
$primo_giorno = 7; //se il primo giorno cade di domenica (0) gli assegno (7) che è la nostra domenica
}
// echo "$mese[$mese_text]
";
// echo "$oggi_sett"."$oggi"."$anno";
print "<table width='20%' border='1' cellspacing='1' cellpadding='1'>";
print "<td colspan='7'><div align='center'>$oggi -- $mesi[$mese_text] -- $anno</div></td>"; // scrive il mese in lettere e l'anno in questione
print ("
<tr>
<td align='center' bgcolor='#00FF00'>LU</td>
<td align='center' bgcolor='#00FF00'>MA</td>
<td align='center' bgcolor='#00FF00'>ME</td>
<td align='center' bgcolor='#00FF00'>GI</td>
<td align='center' bgcolor='#00FF00'>VE</td>
<td align='center' bgcolor='#00FF00'>SA</td>
<td align='center' bgcolor='#FF0000'>DO</td>
</tr>"); //crea lo schema fisso per i nomi delle settimana lun mar... dom
for($i = 1; $i<$giorni_mese+$primo_giorno; $i++){ // inizia ciclo per creare le tabelle
if ($i%$tabella+1==0){
print("\n\t<tr>");
}
if($i<$primo_giorno){
print("\n\t\t<td></td>");// creo tabelle vuote finchè non parte il primo giorno del mese...
}else{
$giorno = $i-($primo_giorno-1); //
$a = strtotime(date($anno."-".$mese."-".$giorno)); // Calcola qual'è il giorno di oggi in modo che si possa selezionare con un altro colore
$b = strtotime(date("Y-m-d")); //
if ((($var[1] == $giorno) and ($colore[1] == blu)) or (($var[2] == $giorno) and ($colore[2] == blu)) or (($var[3] == $giorno) and ($colore[3] == blu)) or (($var[4] == $giorni) and ($colore[4] == blu)) or (($var[5] == $giorno) and ($colore[5] == blu)) or (($var[6] == $giorno) and ($colore[6] == blu)) or (($var[7] == $giorno) and ($colore[7] == blu)) or (($var[8] == $giorni) and ($colore[8] == blu)) or (($var[9] == $giorno) and ($colore[9] == blu)) or (($var[10] == $giorno) and ($colore[10] == blu)) or (($var[11] == $giorno) and ($colore[11] == blu)) or (($var[12] == $giorni) and ($colore[12] == blu)) or (($var[13] == $giorno) and ($colore[13] == blu)) or (($var[14] == $giorno) and ($colore[14] == blu)) or (($var[15] == $giorno) and ($colore[15] == blu)) or (($var[16] == $giorni) and ($colore[16] == blu)) or (($var[17] == $giorno) and ($colore[17] == blu)) or (($var[18] == $giorno) and ($colore[18] == blu)) or (($var[19] == $giorno) and ($colore[19] == blu)) or (($var[20] == $giorni) and ($colore[20] == blu)) or (($var[21] == $giorni) and ($colore[20] == blu)) or (($var[20] == $giorni) and ($colore[20] == blu)) or (($var[20] == $giorni) and ($colore[20] == blu)) or (($var[20] == $giorni) and ($colore[21] == blu)) or (($var[22] == $giorni) and ($colore[22] == blu)) or (($var[23] == $giorni) and ($colore[23] == blu)) or (($var[24] == $giorni) and ($colore[24] == blu)) or (($var[25] == $giorni) and ($colore[25] == blu))) {
print("\n\t\t<td align='center' bgcolor=\"#0000FF\"><a href=\"http://www.mc-virtualworld.it\">".$giorno."</a></td>");
} else if ((($var[1] == $giorno) and ($colore[1] == rosso)) or (($var[2] == $giorno) and ($colore[2] == rosso)) or (($var[3] == $giorno) and ($colore[3] == rosso)) or (($var[4] == $giorni) and ($colore[4] == rosso)) or (($var[5] == $giorno) and ($colore[5] == rosso)) or (($var[6] == $giorno) and ($colore[6] == rosso)) or (($var[7] == $giorno) and ($colore[7] == rosso)) or (($var[8] == $giorni) and ($colore[8] == rosso)) or (($var[9] == $giorno) and ($colore[9] == rosso)) or (($var[10] == $giorno) and ($colore[10] == rosso)) or (($var[11] == $giorno) and ($colore[11] == rosso)) or (($var[12] == $giorni) and ($colore[12] == rosso)) or (($var[13] == $giorno) and ($colore[13] == rosso)) or (($var[14] == $giorno) and ($colore[14] == rosso)) or (($var[15] == $giorno) and ($colore[15] == rosso)) or (($var[16] == $giorni) and ($colore[16] == rosso)) or (($var[17] == $giorno) and ($colore[17] == rosso)) or (($var[18] == $giorno) and ($colore[18] == rosso)) or (($var[19] == $giorno) and ($colore[19] == rosso)) or (($var[20] == $giorni) and ($colore[20] == rosso)) or (($var[21] == $giorni) and ($colore[21] == rosso)) or (($var[22] == $giorni) and ($colore[22] == rosso)) or (($var[23] == $giorni) and ($colore[23] == rosso)) or (($var[24] == $giorni) and ($colore[24] == rosso)) or (($var[25] == $giorni) and ($colore[25] == rosso))){
print("\n\t\t<td align='center' bgcolor=\"#FF0000\"><a href=\"http://www.mc-virtualworld.it\">".$giorno."</a></td>");
}else{
if($a != $b){
// controllo queal'è il giorno di oggi e lo coloro diverso...
// print("\n\t\t<td bgcolor='#FFFFFF'>".$giorno."</td>"); // vecchio sistema
print("\n\t\t<td align='center'>".$giorno."</td>");
}else{
print("\n\t\t<td align='center' bgcolor=\"#CCCCCC\">".$giorno."</td>");
}
}
}
if($i%$tabella==0){
print("\n\t</tr>");
}
}
print("\n\t\t<td></td>");
print("</table>");
mysql_close();
?>
Il calendario non l'ho fatto io, l'ho trovato in rete gratis, tramite forum come questo e poi l'ho modificato...