PHP并输出一对多结果

PHP并输出一对多结果,第1张

概述到目前为止,我只处理了php中的一对一关系,但是我遇到了涉及一对多关系的问题.我已经坐了好几天没有运气,所以我迫切希望有人介入并向我展示解决方案,然后我才会失去理智.我的数据库中有一系列网址,这些网址由SELECT查询以及来自其他表的其他各个字段接收.每个网址至少具有一个与之关联的类别,但可以具有多个类别.因此,在我的结果中,我可能会看到类似以下内容的内容:

到目前为止,我只处理了PHP中的一对一关系,但是我遇到了涉及一对多关系的问题.我已经坐了好几天没有运气,所以我迫切希望有人介入并向我展示解决方案,然后我才会失去理智.

我的数据库中有一系列网址,这些网址由SELECT查询以及来自其他表的其他各个字段接收.每个网址至少具有一个与之关联的类别,但可以具有多个类别.因此,在我的结果中,我可能会看到类似以下内容的内容:

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匹配-那么我所拥有的东西不止一个类别.真的很近,但我无法弄清楚.

有任何想法吗?

最佳答案MysqL中也有“ GROUP_CONCAT”函数.
那应该做您想要实现的目标.

就像是 :

SELECT url,GROUP_CONCAT(category) AS categorIEs FROM yourtable GROUP BY url 
总结

以上是内存溢出为你收集整理的PHP并输出一对多结果 全部内容,希望文章能够帮你解决PHP并输出一对多结果 所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1165361.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存