将来自另一个表的每行作为数组连接起来

2024-04-27

我正在使用 PHP 为自己编写一个电影存档脚本。我正在从 IMDb 获取电影信息并将其添加到我的数据库中。我正在使用另一个名为“链接”的表添加我选择的电影的链接。

这是我用来从数据库获取电影的查询:

    $movies = $this->db->query("SELECT *
  FROM movies
  ORDER BY ".$order['by']." ".$order['type']."
  LIMIT ".$limit.", " . $this->config->item('moviePerPage')
  );

我将其提取到视图文件中,如下所示:

foreach ($movies->result() as $row) {
  echo $row->name;
}

现在,必须为每部电影显示具有匹配 ID 的链接(电影可以有多个链接)。我的链接表有这些列:“id”、“movieid”、“name”、“link”

如何使用单个 MySQL 查询获取每部电影的链接?是否可以获取与当前 $row 电影相关的所有链接并将它们绑定到单个变量作为数组?有了这个,我可以使用 foreach() 循环它并显示每部电影的链接。

顺便说一句:movies.movi​​eid 和 links.movi​​eid 列具有相同的数据。


我认为你需要 mysql 的组连接 http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat

做这样的事情:-

SELECT 
    movies.*, 
    group_concat(links.link ', ') as links
FROM movies 
LEFT JOIN links 
ON links.movieid = movies.movieid 
GROUP BY movies.movieid

您将获得每部电影的逗号分隔链接列表。 您可以像这样提取:-

foreach ($movies->result() as $row) {
  $linksArray = explode(",",$row->links);
}

Updates我认为这是获得结果的唯一方法,而无需为具有多个链接的单个电影提供多个结果行。

请注意结果中可以获取的最大字符长度 - 默认情况下为 1024 个字符。读这个Mysql group_concat_max_length mysql group_concat_max_length http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_group_concat_max_len and 组连接最大长度 https://stackoverflow.com/questions/1278184/in-mysql-is-it-possible-to-get-more-than-1024-characters-back-from-group-concat了解如何超越限制。

正如 Dan Grossman 指出的那样,如果您认为链接可能包含逗号,请使用不同或不常见的分隔符。

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

将来自另一个表的每行作为数组连接起来 的相关文章

  • 防止刷新时提交双重表单

    我有一个简单的问题 我知道当用户使用 Post Redirect Get 模式重新加载页面时 我可以防止表单重新提交自身 但我的问题是 如果我将用户重定向回提交表单的同一页面 这种模式是否有效 我的意思是 我不想将用户重定向到另一个页面 请
  • Tomcat 8 上的 PHP

    我找到了很多如何让 PHP 在 Tomcat 上运行的指南 但都是以前的版本 我尝试了所有这些 但我所能显示的只是一个空白页面 并且代码仍然没有被触发 我知道 Tomcat 是为 Java 应用程序而不是 PHP 构建的 但我需要找到一种使
  • CodeIgniter:将参数从视图传递到控制器?

    编辑 现在使用下面的代码 我不确定如何正确打印书签和标签 我对 CI 完全陌生 最近遇到了障碍 我非常不确定如何将函数参数从视图文件传递到控制器 以便我可以在函数上使用它 我在视图上有一个 foreach 循环 遍历函数 get lates
  • Yii:按条件进行多重排序

    我正在使用 CActiveDataprovider 显示来自不同表的数据 现在我遇到了一个问题 我有两个表 项目和类别 它们都有priority order 列 我需要使用这两个列的顺序来显示数据 例如 有两个类别和属于这些类别的六个项目
  • PHP ajax使用新数组上传多个文件

    它是我的上传 html 代码 div class col xs 12 div
  • MySQL 中电话号码的最佳数据类型是什么?它的 Java 类型映射应该是什么?

    我正在将 MySQL 与 Spring JDBC 模板一起用于我的 Web 应用程序 我需要存储仅包含数字的电话号码 10 我对使用数据类型的数据类型有点困惑 MySQL 中最适合它的数据类型是什么 为此 Bean POJO 类中的 Jav
  • Codeigniter HMVC Ajax

    我的问题需要一些帮助 我有一个用户列表 我想在 CI HMVC 中使用 ajax 删除用户 onclick 删除按钮 这是我的列表视图的代码 function tip del click function var recId this da
  • 如何正确安装mysqlconnecter java?

    上网冲浪后 我意识到我应该在系统环境变量中设置类路径连接器 jar 文件的路径文件我这样做了 并在命令行中输入此命令我有这个 C Users User gt echo classpath D classpath mysql connecto
  • MySQL CREATE TABLE 语句上的外键错误(错误:150)

    我觉得我已经在一对非常简单的创建表语句上尝试了一切可能的方法 类型匹配 我尝试使用 ENGINE InnoDB 等 但很困惑为什么我收到外键错误 我已经离开 SQL 一段时间了 所以这可能是一个简单的问题 mysql gt CREATE T
  • PHP:测试三个变量是否相等

    我以前从未遇到过这种情况 但是如何测试三个变量是否相同 以下内容显然不起作用 但我想不出一种优雅 且正确 的方式来编写以下内容 if select above average select average select below aver
  • 如何在 PHP 中检查不完整的 POST 请求

    当连接速度较慢的远程 Web 客户端无法发送完整的 POST 请求时 我遇到了问题multipart form data内容 但 PHP 仍然使用部分接收到的数据来填充 POST大批 结果一个值 POST数组可能不完整 并且可能会丢失更多值
  • 如何防止机器人程序和垃圾邮件 API 请求?

    我正在使用react native 开发一个Android 应用程序 该应用程序与我正在为该应用程序开发的API 进行通信 该 API 是使用 Laravel 和 Laravel Passport 构建的 我知道 Android 应用程序可
  • 如何在 MySQL 中存储工作日列表?

    我正在使用编写一个应用程序PHP我需要存储一个独特的工作日列表MySQL 在应用程序中 我有一个数组来存储工作日 如下所示 days Wed Thu Sat 我知道我可以使用SET列 但我不想使用这种类型 因为它与我正在使用的框架 Lara
  • 如何使用 Laravel Scheduler 命令将输出重定向到 STDOUT?

    我的调度程序应用程序运行到 Docker 容器中 Laravel 调度程序由主管管理并执行到容器中 我通过以下方式管理输出重定向 http veithen github io 2015 01 08 supervisord redirecti
  • PHP DOMDocument 中 XML 内 HTML 表的 Xpath 查询

    我有一个具有以下树结构的 XML 文件
  • 用于货币转换的php脚本

    我正在寻找一个可以进行货币转换的 php 脚本 在哪里可以找到与 codeigniter 配合使用的工具 取自http www ecb europa eu stats exchange eurofxref html index en htm
  • 无法识别 php 变量

    我在两个文件中分别有以下代码 文件一 php
  • 为什么 $_SERVER["PHP_AUTH_USER"] 和 $_SERVER["PHP_AUTH_PW"] 没有设置?

    在开始之前 我想指出我浏览过 Stack Overflow 并发现了其他类似的问题 PHP AUTH USER 未设置 https stackoverflow com questions 3663520 php auth user not
  • 'SQLSTATE[HY093]:参数数量无效:绑定变量的数量与令牌数量不匹配'[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我收到 SQLSTATE HY093 的错误 参数编号无效 绑定变量的数量与标记的数量不匹配 if isset POST cada
  • 将变量从 PHP 传递到 JavaScript 的有效方法[重复]

    这个问题在这里已经有答案了 有时我必须将一些变量从 PHP 传递到 JS 脚本 现在我是这样做的 var js variable 但这非常丑陋 我无法在 js 文件中隐藏我的 JS 脚本 因为它必须由 PHP 解析 处理这个问题的最佳解决方

随机推荐

  • 不使用 PIN 的 Twitter 身份验证

    我正在尝试验证 Windows Phone 中的用户帐户 我找到了这个 C 库来完成这项工作 tweetsharp 他们的示例非常清楚 但他们使用 pin 码来验证用户身份 using TweetSharp Pass your creden
  • 从 Nipype docker 镜像 CommandNotFound 构建奇点配方

    我有以下奇点容器配方 bin bash Bootstrap docker From nipype nipype latest labels Version v1 0 post Install nano apt get update apt
  • 将不同的内容添加到 flutter moor 查询中

    我有以下颤动沼泽查询 select recipeGarnishes where tbl gt tbl postGarnish equals true get 我该如何添加distinct查询条件 更新 我想写的查询是 select DIST
  • Maven编译失败(但Eclipse下编译成功)

    在构建我的网络项目时Eclipse 一切安好 没有错误 没有警告 然而 在构建项目时Maven it failes 下面是输出形式mvn compile c Users jwa Desktop tets traffic web gt mvn
  • Azure 有害队列计数警报规则

    在之前的一个项目中 我设法设置了一个警报规则 该规则会查看有害队列消息计数 并在队列中存在某些内容时 每天一次 使用 webhook 向 slack 发出警报 我试图找到它在 Azure 中的位置 因为看起来事情已经发生了变化 如果这不是
  • 在php中生成随机字符串作为文件名[重复]

    这个问题在这里已经有答案了 我将如何创建与文件名一起使用的随机文本字符串 我正在上传照片并在完成后重命名它们 所有照片都将存储在一个目录中 因此它们的文件名必须是唯一的 有这样做的标准方法吗 有没有办法在尝试覆盖之前检查文件名是否已经存在
  • 将字符串转换为个位数并求和

    我花了几个小时尝试寻找解决方案来完成我认为很简单的任务 但我失败了 我有一个由 3 个不同字符组成的字符串 I R O 长度从 1 到 6 E g IRRROO RRORRR IIR RIRRO 每个字符代表一个数字I 1 R 2 O 3我
  • 什么是 NullPointerException,如何修复它?

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 什么是空指针异常 java lang NullPointerException 以及是什
  • Prolog 匹配 vs miniKanren 统一

    在 Prolog 人工智能编程中 Bratko 在第 58 页说了以下内容 Prolog 中的匹配对应于逻辑中所谓的统一 但是 我们避免使用 统一 这个词 因为出于效率原因 在大多数 Prolog 系统中 匹配的实现方式并不完全对应于统一
  • onDetach 当片段时调用

    我在方向改变后显示相同的片段时遇到问题 我将其放入后台并弹出 它跳转到onCreateView等 但随后它调用onDetach 这导致显示错误的片段 代码如下 fragment public View onCreateView Layout
  • 如何将 JEditorPane 插入 JTable 单元格?

    我想将 JEditorPane 放入 JTable 单元格中 我写过这个 jTabel1 setDefaultRenderer String class new StringEditorPane class StringEditorPane
  • NaN 是关联容器的有效键值吗?

    考虑 C 中的有序和无序关联容器double Is NaN有效的密钥类型 对于有序容器 我应该说 不 因为它不尊重严格的弱排序 对于无序的容器 我不知道 以下是 GCC 4 6 2 中发生的情况 include
  • 正则表达式匹配不在数组中的逗号(用方括号括起来)

    我有一个对象 想将其表示为带有一些附加格式的字符串 这是我的代码 stringify object and remove double quotations let outPut JSON stringify myObject replac
  • 执行 grails/groovy 时,Linux 上没有可用的控制台输出

    当执行 groovy 脚本或 grails 应用程序时 没有可用的输出 输入 gt 只有一个清晰的控制台屏幕 即使不启动 X Window System 输出也是不可见的 我也尝试过 grailscompile plain output 也
  • 如何在不使用 SPLITSHARD 的情况下动态向 SolrCloud 添加节点?

    我已经设置了Solr云有 4 个碎片 我向 SolrCloud 添加了 8 个节点 4 个领导者和 4 个副本 每个节点运行在不同的机器上 但后来我发现我的数据越来越多 每天400万文件 这样我的 4 个分片就不够用了 因此 我想动态地向该
  • Python-docx:是否可以在特定位置(而不是末尾)向段落添加新的运行

    我想为 MS Word 文本中更正的单词设置样式 由于无法更改运行中的文本样式 因此我想在现有段落中插入具有新样式的新运行 for p in document paragraphs for run in p runs if text in
  • Spring Boot + 安全 + 多 HTTP Web 配置

    我正在尝试使用 spring boot 和 spring security 来做一个示例 我的想法是创建一个网络应用程序并提供一个API 我希望两者都有安全性 所以我需要创建一个多 http Web 安全配置 但它不起作用 我点击了这个链接
  • 自定义 ImageView 导致程序崩溃

    我正在为 Android 制作一个小型应用程序 其中有一个relativelayout 其中包含一个自定义 ImageView 在我的 Java 代码中 我有这个类 package com example android helloacti
  • 德尔福XE5安卓。硬件后退按钮按下

    如何模拟硬件后退按钮按下来关闭应用程序 我需要通过代码关闭应用程序 但 Application Terminate Close Hide 和 DisposeOf 不起作用 所以我想到模拟硬件后退按钮按下来实现我的目标 IFDEF ANDRO
  • 将来自另一个表的每行作为数组连接起来

    我正在使用 PHP 为自己编写一个电影存档脚本 我正在从 IMDb 获取电影信息并将其添加到我的数据库中 我正在使用另一个名为 链接 的表添加我选择的电影的链接 这是我用来从数据库获取电影的查询 movies this gt db gt q