mysql group by php concat

时间:2011-07-16 17:32:33

标签: mysql sql group-by

我的数据库中有一个固定装置表:hometeam,awayteam,date,time

我目前正在使用mysql_fetch_array并获得以下内容:

hometeam    awayteam    date         time
--------------------------------------------
Blackburn   Wolves      13/08/2011   3:00pm
Arsenal     Liverpool   13/08/2011   3:00pm
etc

我想回来:

13/08/2011
---------------------------
Blackburn, Wolves, 3:00pm
Arsenal, Liverpool, 3:00pm
etc

我已按日期尝试分组,但这只会返回该日期的1个装置,这是垃圾。

我也尝试了group_concat,但问题是我需要修改此组中的项目,例如将时间格式从服务器时间更改为上述可读时间。

1 个答案:

答案 0 :(得分:0)

您可以按日期排序,然后在两行之间的日期更改时检入php。像这样的东西:

function h($s) { return htmlspecialchars($s); }
$conn = mysqli_connect(…);
$result = mysqli_query($conn, 'select * from fixtures order by date');

$lastdate = NULL;
while(($row = mysqli_fetch_assoc($result)) !== FALSE) {
  if($lastdate != $row['date']) {
    // output date divider/header
    echo '<h1>',h($row['date']),'</h1>';
    $lastdate = $row['date'];
  }

  echo h($row['hometeam']), ', ', h($row['awayteam']), ', ', h($row['time']);
}