sql >> Databasteknik >  >> RDS >> Mysql

php mysql gruppera efter datum med formatet åååå-mm-dd

Du bör verkligen använda php för att få detta gjort. Men eftersom det mesta av det nuvarande systemet skiljer logik från display, skulle jag bara använda ett pass och inte (ANTAL DAGAR + 1) SELECTs, och förbereda en array som jag kan återanvända senare för min 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'];
}

Och sedan när jag skulle behöva det (genom en mall eller din "vy")

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

så det passar formatet du ställer in för dig själv.

Hoppas det hjälpte



  1. heroku, postgreSQL, django, comments, tastypie:Ingen operator matchar givna namn och argumenttyp(er). Du kan behöva lägga till explicita casts

  2. Kör PDO med en array som innehåller nollvärden

  3. Använda ett DATUM-fält som primärnyckel för en datumdimension med MySQL

  4. Flera skär med PDO