Mysql
 sql >> Database >  >> RDS >> Mysql

php mysql raggruppa per data con il formato aaaa-mm-gg

Dovresti davvero usare php per farlo. Ma poiché la maggior parte del sistema attuale separa la logica dal display, userei solo un passaggio e non (NUMERO DI GIORNI + 1) SELECT e preparerei un array che potrò riutilizzare in seguito per il mio display.

$query = "SELECT DATE_FORMAT(date, '%M %D') as d, name FROM yourtable ORDER BY date";
$foo=array();
$result = mysql_query($query);
while($row = mysql_fetch_assoc($result)) {
    //some logic to test if it's safe to add the name
    $foo[$row['d']][]=$row['name'];
}

E poi quando ne avrei bisogno (attraverso un modello o la tua "vista")

foreach($foo as $date => $events) {
    echo $date . ":\n\t";          
    echo implode(",\n\t", $events);
    echo "\n";
}

quindi si adatta al formato che hai impostato.

Spero di esserti stato d'aiuto