- Home
- Categorie
- Coding e Sistemistica
- PHP
- Controllo scadenza date
-
Controllo scadenza date
Salve,
Sto creando un sito dove in homepage vorrei 3 div, in ogni div dovrebbe essere visibile una festività dell'anno, passata la data della festività non dovrebbe essere piu visibile. Tutte le festività vengono estratte con un ciclo for dal database mysql limitate a 3, le festività gia passate non dovrebbero essere visibili.
Qualcuno mi puo dare qualche suggerimento?
-
La data della festività è un campo di tipo DATE?
Se si...[php]
$dataoggi = date("Y-m-d");
$sql = "SELECT * FROM festivita WHERE data_festivita >= '$dataoggi' LIMIT 1,3";
[/php]
-
Grazie per l'aiuto, sì il campo del database e di tipo DATE
-
Vorrei chiedere se è possibile inserire nel DB mysql nel campo DATE solo il giorno ed i mesi, senza l'anno? Visto che le festività si ripetono ogni anno, e non mi tocca aggiornare ogni volta le date nel db.
-
Il campo DATE è per date complete. Perché ti interessa? Quello che decide come e quale festività mostrarti è il PHP, il MySQL ha solo il ruolo di storage.
-
Ad esempio il prossimo anno le festività si aggiornano in automatico, ho devo cambiare l'anno nel DB?
-
Tu nel DB hai una data, non hai una festività. Il fatto che una data diventi una festività da visualizzare a video, lo decide il PHP e quindi tu un algoritmo. Se devi visualizzare la festività di oggi, la query è:
[php]
<?php
$sql = "SELECT * FROM festivita WHERE data_festivita LIKE '%".date("m-d")."' AND ricorrente = 1";
?>
[/php]Cosa ci sia impostato come anno nel DB non ti interessa per tutte le festività ricorrenti, cioè quelle che si ripetono ogni anno lo stesso giorno (Natale, Capodanno, Festa della Repubblica). L'anno ti serve solo ed esclusivamente per le festività che cambiano il giorno in cui cadono a seconda dell'anno, come Carnevale e Pasqua, ed in quel caso vai ad estrarre quelle dove il campo ricorrente è uguale a 0 e quelle in cui data_festivita è uguale alla data di oggi. Su quelle non ricorrenti non hai bisogno di un automatismo come quello descritto nella query sopra.
-
Grazie mille dell'aiuto, mi e servito molto