id name create_at
1 one 1462885556 (09.04.2016 13-00)
2 two 1462971956 (10.05.2016 13-00)
3 three 1462881956 (09.04.2016 12-00)
4 four 1462968356 (10.05.2016 12-00)
5 five 1462878356 (09.04.2016 11-00)
6 six 1462964756 (10.05.2016 11-00)
10.05.2016
2 two (10.05.2016)
3 four (10.05.2016)
6 six (10.05.2016)
09.04.2016
1 one (09.04.2016)
3 three (09.04.2016)
5 five (09.04.2016)
SELECT *, DATE_FORMAT(create_at,'%d/%m/%Y') AS dayDate
FROM table
ORDER BY `create_at` DESC
$previousDate = "";
foreach($posts as $post) {
if ($post['dayDate'] !== $previousDate)
echo "<b>" . $post['dayDate'] . "</b><br>";
echo $post['title'] . "<br>";
$previousDate = $post['dayDate'];
}