php - 将多个条目连接到单个条目

标签 php mysql codeigniter

我有 2 个表,一个列出属性(房屋、公寓等),另一个表保存图像文件名和链接到相关属性的 ID。

现在,我需要将它们连接在一起,但以某种方式连接起来,以便我只获得一次返回的属性信息,然后获得链接的 X 条图像记录。

我使用 LEFT JOIN 取得了一些成功,因为我可以选择记录,但它返回属性的重复信息,例如链接到 3 个图像的 1 个属性将从 LEFT JOIN 查询返回 3 个结果,因此在我的输出页面上打印详细信息 3 次。

接下来的部分是如何打印属性详细信息(现在应该是单数)和多个图像信息?

希望能帮到你!

最佳答案

您可以使用 group_concat 函数来获取文件名列表。默认情况下,这仅允许您在生成的 group_concat 字段中包含 1k 数据。

select prop.*, group_concat(filenames) as files
   from properties prop 
   join images on prop.id = images.prop_id
   where prop.owner_id = 'something'
   group by prop.id

如果您需要该字段中的更多数据,可以调整 group_concat_max_len 属性。

然后在 PHP 中,您将查看结果查询,并且可以分解每个文件列,并循环结果数组以显示图像。

关于php - 将多个条目连接到单个条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6800732/

相关文章:

php - 以编程方式设置 CSS 背景的最佳方式?

mysql - MySQL 触发器的描述中所写的语法是否正确?会起作用吗?

mysql - 更新时没有变化的时间戳

php - php codeigniter中的重置密码功能

PHP CodeIgniter 外部 API 调用

php - codeigniter (PHP) 中的注销问题

php - 如何让 CodeIgniter 接受 "query string"URL?

php - 旋转 PNG,然后使用图像透明度重新保存

php - 从数据库中直接输出 html

mysql - MySQL中的tinyint(M)有什么用处?