Ma to wyglądać mniej więcej nastepująco:
masz tabelkę, nazwijmy ją
ex_table, a w niej pola:
id_field oraz
time_field, gdzie pierwsze pole to unikalne ID danego rekordu, a drugie pole to po prostu nasz czas.
Teraz wyciągamy wszystkie nasze rekordy, sortując je od najnowszych do najstarszych:
$sql = "SELECT * FROM `ex_table` ORDER BY time_field DESC";
$day = ''; // Ta zmienna będzie rozpoznawała czy obecny rekord to już następny dzień, czy może ten sam
{
$now_day = date("z", $row['time_field']); // do tej zmiennej przypisujemy aktualny dzien roku 0-365 - to sie przyda do identyfikacji czy mamy do czynienia z tym samym dniem czy juz z nastepnym if ( $day !== $now_day ) // jesli mamy do czynienia z kolejnym dniem to...
{
$day = $now_day; // przypisujemy do zmiennej $day kolejny dzien roku
echo date("l j/m", $row['time_field']).'<br>'date("H:i", $row['time_field']).'cos cos cos<br>'; // wyswietlamy pełną ang. nazwę tygodnia, miesiąc i dzień, a następnie godzinę i minutę + czynność o nazwie "cos cos cos" }
else // jesli natomiast mamy do czynienia z tym samym dniem...
{
echo date("H:i", $row['time_field']).'cos cos cos<br>'; // wsywietlamy samą czynność }
}
W komentarzach wszystko opisałem, jedyny mankament to to, że dni będą w języku angielskim. Możesz sobie napisać jakąś funkcję, która na sztywno zamieni w ciągu np. Monday na Poniedziałek itp.