到目前为止,我只处理了 php 中的一对一关系,但我遇到了一个涉及一对多关系的问题。我已经坐了几天没有运气,所以我迫切希望有人介入并在我失去理智之前向我展示解决方案。
在我的数据库中有一系列 url,这些 url 由 SELECT 查询以及来自不同表的各种其他字段接收。每个 url 至少有一个与之关联的类别,但可以有多个类别。所以在我的结果中,我可能会看到一些看起来像这样的东西:
link_id = 3 url= 'http://www.somesite1.com' category = 'uncategorised'
link_id = 4 url= 'http://www.somesite2.com' category = 'travel'
link_id = 4 url= 'http://www.somesite2.com' category = 'fun'
link_id = 4 url= 'http://www.somesite2.com' category = 'misc'
link_id = 3 url= 'http://www.somesite3.com' category = 'uncategorised'
我有这个工作,有点。当我使用while循环和mysql fetch数组循环并打印它们时,结果看起来与上面完全一样。太好了,除了我需要的是它读取类似的内容:
link_id = 4 url = 'http://www.somesite2.com' category = 'travel fun misc'
因此,基本上每个 url 的所有类别都以某种方式组合在一起,因为它们被打印出来。我的第一次尝试让我尝试了一个嵌套的 while 循环,但它没有用,我不确定这是否可行。除此之外,我想知道我是否可能需要一个多维数组(完全猜测,我以前从未使用过)。
我按照上面的链接 id 对这些结果进行排序,所以我知道当前循环迭代中的链接 id 是否与上一次迭代中的链接 id 匹配 - 那么我有一些具有多个类别的东西。我想我是真的很接近,但我就是想不通。
有任何想法吗?