I'm generating an array in this way:
$sql2 = 'SELECT * FROM agenda ORDER BY start ASC';
$query2 = $pdo->prepare($sql2);
$query2->execute();
$list = $query2->fetchAll();
$inizio ="";
$startdata ="";
$doppioevento = "";
$out = array();
$lastStart = null;
$altroevento = "";
$i = 0;
$len = count($list);
foreach ($list as $rs) {
$titolo = $rs['title'];
$doppioevento = '<a class="'.$rs['class'].'" style="color:#FFFFFF;">'.$titolo.'</a>';
$inizio = str_replace('/', '-', $rs['start']);
$startdata = gmdate('Y-m-d', strtotime($inizio));
if ($rs['start'] == $lastStart) {
$doppioevento .= '<br><br><a class="'.$rs['class'].'" style="color:#FFFFFF;">'.$rs['title'].'</a>';
if ($i == $len - 1) {
$out[] = array(
'title' => 'Eventi del '.$inizio,
'date' => $startdata,
'badge' => true,
'body' => $doppioevento.$altroevento,
'footer' => '-',
'classname' => 'purple-event'
);
}
$i++;
continue;
}
$out[] = array(
'title' => 'Eventi del '.$inizio,
'date' => $startdata,
'badge' => true,
'body' => $doppioevento.$altroevento,
'footer' => '-',
'classname' => 'purple-event'
);
$lastStart = $rs['start'];
$i++;
}
I basically want that my array prints an event for each date (retrieved by database). When there are multiple events in a single date, it should append events to only 1 key of array. Something like:
$event = "im the first event of 20 september", so:
$out[] = array(
'title' => 'Eventi del '.$inizio,
'date' => $startdata,
'badge' => true,
'body' => $event,
'footer' => '-',
'classname' => 'purple-event'
);
oh wait, $event2 = "i'm another event of 20 september!", so:
$out[] = array(
'title' => 'Eventi del '.$inizio,
'date' => $startdata,
'badge' => true,
'body' => $event . $event2,
'footer' => '-',
'classname' => 'purple-event'
);
and so on... How?