列表包含重复条目

时间:2012-06-05 10:10:29

标签: php mysql zend-framework

我遇到了一个小问题。首先,我有以下表格:'groups','pages'和联结表'subcriptions'

这背后的想法是一个组(有用户)可以加入一个页面。用户可以将页面添加为他所在的组的订阅(多对多)。有关信息:用户可以分为多个组。

作为UI的一部分,我想列出一个关于它的列表。从每个组我想要相关的页面。例如:(组:......页数:-....,-.... |组:......页数:-....,-....等)

SQL查询不是问题:

SELECT Groups.name, pages.name, pages.id
FROM Groups
JOIN subscriptions ON groups.id = subscriptions.group_id
JOIN pages ON subscriptions.page_id = pages.id
WHERE groups.id IN ('1', '2')   // de values 1 & 2 zijn voorbeelden en stellen de groepen id's voor waarin de huidige gebruiker zit.

例如,结果将如下所示:

group name ---- page name ---- page id
group1 -------- page1 --------- 1
group1 -------- page2 --------- 2  
group2 -------- page1 --------- 1

我的问题是;我怎样才能获得一个(html)列表,其中我得到一个组名和该组的所有相关页面? (就像我之前提到的例子)。我需要一个php解决方案。 (我正在使用Zend框架,但我无法在Zend中找到解决方案,我想要的技巧)

或者必须为每个组执行单个查询?我想避免这种情况..

我是这个mysql和php世界的新手,所以每一个帮助都值得分配!谢谢。 :)

1 个答案:

答案 0 :(得分:1)

一个非常基本的实现如下:

  • 循环通过mysql结果
  • 构建一个二维数组,其中组为第1维,关联页为第2维
  • 在您的html模板中,获取您的数组并使用外部循环遍历您的组和内部循环以获取每组页面
欢呼:)