Я хотел бы использовать виджет аккордеона ( http://api.jqueryui.com/accordion/ ), чтобы показать результат из SQL-запроса, указанного в другом сообщении .
Я столкнулся со следующими проблемами:
результат SQL не указывает конец одной группы и начало другого (поэтому я не могу сказать, что аккордеон начнется с нового заголовка);
могут быть группы, которые пусты (список групп содержится в третьей таблице с именами groups
– см. ее структуру ниже) – пользователь может создать группу, которая может быть пустой (без элементов), эта группа также должна быть указана в результате ;
существует одна группа, общая для всех пользователей (group_id 0, group_name General). Группа должна быть просмотрена в списке, если есть элемент, принадлежащий пользователю, элементы которого указаны в представлении;
в каждом заголовке аккордеона указывается имя группы (а не group_id). Имена групп содержатся в groups
таблиц. Представление сортируется в соответствии с именами групп (а не group_id, как в исходном сообщении )
Структура groups
таблиц:
group_id (primary) | user_id | group_name
Один пользователь может иметь ноль или более групп. Одна группа принадлежит одному пользователю. Только исключение – group_id 0, которое является общим для всех пользователей.
Результат должен выглядеть так:
(all the groups below belong to the same user - with certain user_id, except for group_id 0) # A group (group_name) (group_id 13) # Item 67 (id): Apple (name), healthy fruit (description) (item stored in table1) Item 29: Pear, rounded fruit (item stored in table2) # B group (group_name) (group_id 4) # Item 14: Grape, juicy fruit (item stored in table2) # C group (group_name) (group_id 18) # Item 116: Blackberry, shining fruit (item stored in table2) Item 14: Plum, blue fruit (item stored in table1) Item 7: Raspberry, red fruit (item stored in table1) # General (group_name) (group_id 0) # Item 206: General fruit, mysterious fruit (item stored in table1)