PHP 并输出一对多结果

2023-12-25

到目前为止,我只处理过 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 获取数组循环并打印它们时,结果看起来与上面的完全一样。那太好了,除了我需要的是它读取如下内容:

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 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP 并输出一对多结果 的相关文章

随机推荐

  • JavaScript:推入对象内的数组?

    问题 如何将一个数组推入对象内的另一个数组 示例编码 var myObj arrayOne arrayTwo var arrayLetters A B obj arrayOne push arrayLetters RESULT arrayO
  • 在 JTable 中的单元格上方显示工具提示

    当用户在单元格中输入错误的值时 我需要在单元格上方 或下方 显示工具提示 参见下图 我有一个工具提示 但我需要一个点来将其显示在正确的位置 所以我想获取一个单元格位置 你知道如何得到这个吗 但是 如果您有更好的解决方案来实现这种行为 我愿意
  • Keras 拟合在第一个 epoch 结束时冻结

    我目前正在尝试使用 Keras 微调 VGG16 网络 我开始对猫和狗的数据集进行一些调整 然而 在当前的配置下 训练似乎在第一个时期被阻止 from keras import applications from keras preproc
  • 编译器 vs 解释器 vs 转译器

    在我参加的 ReactJS 会议中 演讲者使用了一个术语转译器对于一些代码转换 移植的发生 过去 我听说过编译器和解释器这两个术语 我在将用户编写的语言代码转换为计算机系统上可运行的形式的上下文中使用过 转译器对我来说是新的 转译器与编译器
  • SolrJ 和自动提交

    我正在使用 SolrJ API 将文档添加到 Solr 4 3 核心 我注意到我在我使用的库存 solrconfig 中将自动提交设置为 15 秒 如下所示
  • Rails - 通过 Active Storage 上传文件后在视图中显示图像

    我有一个正在进行中的项目5 1 2我正在尝试在其上实现活动存储 按照几个在线教程 我可以设置活动存储 并且可以看到保存在其中的数据active storage blobs and active storage attachments tab
  • 类型系列扩展无法按描述工作

    On 类型族的 Haskell wiki 页面 http www haskell org haskellwiki GHC Type families 有以下示例列表 type family F a type instance F Int I
  • git hook 获取合法提交消息(#123 好消息)

    我需要确保提交消息是合法的 否则拒绝它 提交消息应该类似于 123修复丢失的括号 我想确保它以哈希开头 有一个整数 没有 123a 并且消息至少有 10 个单词 很高兴有 消息不会连续完全相同 我正在使用这个 Trac 插件进行更改集 它更
  • 从传入 ASPX url 路由到 ASP.NET MVC 控制器操作

    我有一个 url Review aspx reviewId 3 我希望将此 url 路由到 MVC 控制器 操作 Review 3 有任何想法吗 没关系 像这样的简单路线是有效的 routes MapRoute Reviews Old Ro
  • Tcl 扩展:扩展的 ClientData 的生命周期

    重要的本机扩展将需要每个解释器的数据 动态分配的结构 我目前正在使用Tcl SetAssocData 有一个对应的密钥 扩展名和适当的删除例程 以防止此内存泄漏 然而 Tcl PkgProvideEx 也允许记录这样的 信息 该信息可以通过
  • 如何使用 PHP 和 sqlsrv 驱动程序清理输入?

    我正在开发一个使用 sqlsrv 驱动程序的 PHP MSSQL 项目 阻止 SQL 注入攻击的最佳方法是什么 我需要类似 mysql real escape string 的东西 但用于 sqlsrv 驱动程序 如果你像这样使用它 引用是
  • 使用 moment.js 如何给出持续时间的特定格式

    给定来自 API 的秒数持续时间duration seconds 86485 1天0小时1分1秒 我打算使用 moment js 将其转换为格式化的持续时间 如下所示 1 d hh mm ss 1d 00 01 01 2 d d hh h
  • Angular UI Router - 继承状态下的视图

    edit 根据 actor2019的回答 我想更新我的问题以更好地解释问题 Using Angular UI 路由器 https github com angular ui ui router v0 0 2 我已经将应用程序设置为在主 页面
  • 实体和DTO的区别

    DTO 和实体有什么区别 详细来说 这些是我的问题 DTO 应该有哪些字段 例如我的实体类是 Entity public class MyFirstEntity implements Serializable Id GeneratedVal
  • 使用 IN6ADDR_SETV4MAPPED 和双堆栈套接字

    这是一个延续将 IPv4 客户端连接到 IPv6 服务器 连接被拒绝 https stackoverflow com questions 16480729 connecting ipv4 client to ipv6 server conn
  • HTMLAgilityPack - 您需要将 UseIdAttribute 属性设置为 true 才能启用此功能

    我正在尝试将 HTMLAgilityPack 与 VS2008 Net 3 5 一起使用 即使我将 OptionUseIdAttribute 设置为 true 我也会收到此错误 尽管默认情况下它应该为 true Error Message
  • 如何在 Magento 核心 API 之外获取订单的送货/账单地址 ID?

    我想从 Magento 刚刚完成的订单中获取送货 帐单地址 ID 我已经尝试过以下代码 但它不起作用 Mage getModel 销售 订单 gt load array data order id gt getShippingAddress
  • PHP 可以选几门课?

    我在 Google 搜索中没有看到很多关于运行时 PHP 最大类处理的问题 假设我有一个自定义的 arrayaccess 类 它可以容纳最多 8k 个 User 类型的对象 自从arrayaccess类不允许我做 d 0 gt userna
  • 如何计算转换规范 %.*f 的精度以保持浮点值的精度?

    注 此问题源自this https stackoverflow com a 19897395 1778275 answer 如何计算转换规范的精度 f保持浮点值的精度 注意 这里的 保持精度 是指读回打印值后 例如 通过strtod or
  • PHP 并输出一对多结果

    到目前为止 我只处理过 php 中的一对一关系 但我遇到了一个涉及一对多关系的问题 我已经坐了几天了 但没有运气 所以我迫切希望有人介入并在我失去理智之前向我展示解决方案 在我的数据库中有一系列 url 这些 url 由 SELECT 查询