Ciao a tutti.
Dove realizzare un sito dove in home page ho due box, uno per un giorno della settimana (mercoledi') e uno per un altro (lunedi').
Ho una lista di eventi (che non contengono solo eventi del mercoledi' o del giovedi' ma anche di altri giorni...). La data di ogni evento e' salvata in un campo date (YYYY-MM-DD), dovrei far visualizzare in quei due box i due eventi nella relativa settimana (per esempio, l'evento del mercoledi' me lo dovra' visualizzare nella settimana in cui la data e' presente, dal mercoledi' al mercoledi' sucessivo e poi visualizzare, alla scadenza, l'evento sucessivo e via cosi').
Ho provato cosi' ma non mi convince tanto (a dire il vero avevo realizzato questo perche' prima il campo in cui salvavo la data non era in formato DATE ma semplice VARCHAR).
Codice PHP:
$query = "SELECT * FROM eventi WHERE attiva = 1 ORDER BY id DESC";
$result = mysql_query($query,$conn);
while ($array = mysql_fetch_assoc($result)) {
// SCORRI TUTTI GLI EVENTI INSERITI E ATTIVI INDISTINTAMENTE DALLA
// DATA GLI ULTIMI EVENTI INSERITI SONO QUELLI CHE VANNO IN ALTO
// E AGGIUNGO ALLA DATA ANCHE IL GIORNO DI SVOLGIMENTO DELL'EVENTO
$giorni = array('Domenica','Lunedì','Martedì','Mercoledì','Giovedì','Venerdì','Sabato');
$giorno_sett = $giorni[date('w',strtotime($array['data_serata_2']))];
// E STAMPO SOLO LE DATE CHE CORRISPONDONO A VENERDI'
if($giorno_sett == "Mercoledì") {
// E QUI SOLO LE DATE CHE CORRISPONDONO A QUELLE NON ANCORA SCADUTE RISPETTO ALLA DATA ATTUALE
// RECUPERO PERCIO' LA DATA ATTUALE
$data_attuale = date('Ymd');
// TRASFORMO LA DATA RECUPERATA DALL'EVENTO
$data_serata = str_replace("-", "", $array['data_serata_2']);
// E STAMPO SOLO LE DATE CHE NON SONO ANCORA SCADUTE
if($data_attuale <= $data_serata) {
// ORA PERO' DEVO SOLO STAMPARE L'EVENTO CHE CORRISPONDE ALLA SETTIMANA CORRENTE
// TROVO LA SETTIMANA DELL'ANNO CORRISPONDENTE ALLA DATA DELL'EVENTO E LA SEPARO
$separo = explode("-", $array['data_serata_2']);
$settimana_scadenza = date("W", mktime(0, 0, 0, $separo[1], $separo[2], $separo[0]));
// TROVO LA SETTIMANA CORRENTE ATTUALE
$settimana_attuale = date("W", mktime(0, 0, 0, date('m'), date('d'), date('Y')));
// STAMPO SOLO QUELLO DELLA SETTIMANA ATTUALE
if($settimana_attuale == $settimana_scadenza) {
echo $titolo_ra = str_replace("\\", '', "$array[titolo]");
}
}
}
Esiste un modo meno elaborato di realizzare la stessa cosa ?
Magari direttamente da query ?
Le date mi sono davvero ostiche.
Ciao..Grazie e buon lavoro a tutti.
Micky