Ciao a tutti^^
Vi espongo il problemino che ho..
In una pagina devo fare una stampa dei giorni di chiusura di un negozio.
Per fare questo prendo le date da db, in specifico da due tabelle:
una è la tabella con le chiusure standard (natale, epifania..)
l'altra è una tabella con chiusure variabili che il cliente può modificare a suo piacere con date aggiuntive (come ad esempio la festività "Lunedì dell'angelo" che non cade sempre lo stesso giorno ogni anno...oppure semplicemente date di chiusura diverse dalle solite)
Le due tabelle devono restare separate (altrimenti sarebbe più facile, eh!) perchè hanno altri collegamenti con diverse sezioni del sito.
Dunque quello che devo fare è
1) estrarre giorno numerico e mese della festività dalla TAB1(chiusure straordinarie) dal db e dalla TAB2(chiusure standard) dal db (il formato in db è timestamp)
2) unire i risultati (possibilmente in ordine cronologico) [ho visto che esiste array_merge()]
3) fare un echo dei risultati senza doppioni [ho visto che esiste array_unique()]
riesco a fare l'estrazione ma non ad eseguire i passaggi successivi...
Copio qui sotto l'estrazione da db:
[le varie condizioni extra che vedete sotto sono relative ad altre cose, ad ogni modo le query sono funzionanti]
TAB 1
Codice PHP:
//---------------straordinarie------------------
$chiusure= "
SELECT DISTINCT
year(Field71) as anno,
month(Field71) as mese,
weekday(Field71) as giorno,
dayofmonth(Field71) as gg
FROM
Modulo_DataDyn_Entita_2
WHERE
(Field35 = 'si')
AND
year(Field71)= YEAR(NOW())
ORDER BY Field71
";
$result = mysql_query($chiusure);
$num_righe = mysql_num_rows($result);
if ($num_righe<1){
echo "<i>nessuna chiusura prevista</i><br />";
}else{
while ($riga = mysql_fetch_assoc($result)) {
$anno=$riga["anno"];
$mese=$riga["mese"];
$mm=$arr_mesi[$mese];
$gg=$riga["gg"];
$giorno=$riga["giorno"];
$giorno_settimana=$arr_giorni[$giorno];
$dalle=$riga["Field33"];
$alle=$riga["Field34"];
$dataStraordinaria .= "<div class=\"data\">$gg $mm </div>
<br style=\"clear:both\" />";
} //while
} // else
TAB 2
Codice PHP:
//---------------standard------------------
$chiusure= "
SELECT
month(Field76) as meseStandard,
weekday(Field76) as giornoStandard,
dayofmonth(Field76) as ggStandard
FROM
Modulo_DataDyn_Entita_9
ORDER BY Field76
";
$result = mysql_query($chiusure);
$num_righe = mysql_num_rows($result);
if ($num_righe<1){
echo "<i>nessuna chiusura prevista</i><br />";
}else{
while ($riga = mysql_fetch_assoc($result)) {
$meseStandard=$riga["meseStandard"];
$mmStandard=$arr_mesi[$meseStandard];
$ggStandard=$riga["ggStandard"];
$giornoStandard=$riga["giornoStandard"];
$giornoStandard_settimana=$arr_giorni[$giornoStandard];
$dataStandard .= "<div class=\"data\">$ggStandard $mmStandard </div>
<br style=\"clear:both\" />";
} //while
} // else
potete consigliarmi per prendere la strada giusta?
grazie....
ps. prima avevo fatto una query unica (join tra le due tabelle) ma poi mi incasinavo e ho deciso di dividere le cose, spero di non aver peggiorato tutto!