MySQL группа по php concat - PullRequest
0 голосов
/ 16 июля 2011

У меня есть таблица приборов в моей БД: 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

Я хочуreturn:

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

Я пробовал группировать по дате, но это просто возвращает 1 прибор на эту дату, что является мусором.

Я также пытался group_concat, но проблема с этимМне нужно изменить элементы в этой группе, например, изменить формат времени с серверного времени на читаемое время, как указано выше.

1 Ответ

0 голосов
/ 16 июля 2011

вы можете отсортировать по дате, а затем проверить в 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']);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...