Сложно поворачивать таблицу в MySQL, но у вас есть встроенная функция сводки: GROUP_CONCAT
Вот мое предложение.
Идея состоит в том, чтобы построить таблицу в html, используя теги для стартовой таблицы и т. Д.
Вот как выглядит таблица в html-источнике.
<table border="1">
<tr>
<td>A1</td> <td>B1</td>
</tr>
<tr>
<td>A2</td> <td>B2</td>
</tr>
</table>
и вот искусство ascii вывода
+--------+--------+
| A1 | B1 |
+--------+--------+
| A2 | B2 |
+--------+--------+
Вы можете построить это с помощью группы concat
SELECT
concat('<tr><td>',s.member_id,'</td>'
,group_concat(s.itempair SEPARATOR '')
,'</tr>') as row
FROM (
SELECT member_id, concat('<td>',item,'</td><td>',amount,'</td>') as itempair
FROM invoice ORDER BY member_id, item ) s
GROUP BY s.member_id;
Теперь вы можете просто начать таблицу, повторив тег <table border = "1">
,
Повторяю все row
s из выбранного
и, наконец, повторение тега </table>
.
Для получения дополнительной информации о group_concat
см .: http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat
Удачи с кодом php.