Ho un problema strano con le date degli eventi e ho provato a risolverlo, ma non sono riuscito a farlo.Omettere i mesi e gli anni ridondanti nell'elenco di intervalli di date
Vi allego uno screenshot di come voglio per visualizzare i date a pagina:
Nella foto il primo evento Deine Energie in azione! è una combinazione di 5 eventi con ogni evento che ha la sua data di inizio e la sua data di fine.
La prima parte dell'evento è un evento di un giorno che inizia il 4 aprile e termina il 4 aprile. Allo stesso modo la seconda parte è il 7 aprile, 3a parte il 9 aprile e la quarta parte il 20 aprile
L'ultima parte inizia il 5 maggio e termina il 10 maggio.
Le date sono memorizzate nel database in questo formato: Sto mostrando le date per l'ultima parte dell'evento. Inizio Evento Data: 2013/05/05 00:00:00 Data Evento fine: 2013-05-10 00:00:00
quindi voglio per visualizzare le date nel formato mostrato in figura.
Ci sono più casi: Prima è se tutte le date sono in arrivo in un solo mese, quindi il nome del mese viene visualizzato alla fine solo una volta. Il secondo è se i mesi vengono cambiati, quindi il nome del mese verrà visualizzato dopo la data in cui il mese è cambiato.
Ricevo le date degli eventi in un ciclo while, quindi come faccio a confrontare la data dell'evento corrente con la data dell'evento in arrivo in un ciclo.
Questo è il codice che ho usato finora per ottenere le date dal database ..
$nid = $row->nid;
$get_product_id = "SELECT product_id from {uc_product_kits} where nid='$nid'";
$res = db_query($get_product_id);
while ($get_product_id_array_value = db_fetch_array($res)) {
$prductid = $get_product_id_array_value['product_id'];
$start_date = db_query("select event_start,event_end from {event} where nid=%d",$prductid);
$start_date_value = db_fetch_object($start_date);
$end_value = $start_date_value->event_start;
$event_end_date = $start_date_value->event_end;
$TotalStart = date("d M Y", strtotime($end_value));
$TotalEnd = date("d M Y", strtotime($event_end_date));
$onlyMonthStart = date("M", strtotime($end_value));
$onlyMonthEnd = date("M", strtotime($event_end_date));
//$groupMonth = db_query("select event_start,event_end, month from {event} where nid=%d group by ",$prductid);
if($TotalStart == $TotalEnd){
$startDay = date("d", strtotime($end_value));
$startMonth = date("M", strtotime($end_value));
if(in_array($startMonth,$newMonth)) {
echo $onlstartdate;
}
else {
$onlstartdate = date("d", strtotime($end_value));
echo $onlstartdate;
$tempStorage[] = $startMonth
}
//$newMonth[] = $startMonth;
}
}
ho aggiornato la mia risposta con qualche esempio di codice. –
Grazie Martin. Questo ha funzionato per me. –
Prego. Felice, ti ha aiutato. –