在 PHP 中使用 group_concat 回显 mysql 数据

2024-03-13

这是我的 SQL 小提琴:SQL小提琴 http://rextester.com/GERD25923

我正在尝试使用 PHP 来回显这个结果。这是我的预期结果:

// Some Stuff Here

The Dark Knight Rises -  7.5
Batman Begins - 7.5 
Iron Man - 7.3
The Lord of the Rings: The Return of the King - 8.1 
etc...

// Some more Stuff here

我的 PHP 代码:

$stmt = $conn->prepare("SELECT tmdb_movies.movie_title
,GROUP_CONCAT(recommendations.recommendations_title  ORDER BY recommendations.recommendations_title) as recommendations_title
,GROUP_CONCAT(recommendations.recommendations_vote_average ORDER BY recommendations.recommendations_title) as recommendations_vote_average

FROM tmdb_movies 

LEFT JOIN cast ON cast.cast_tmdb_id=tmdb_movies.tmdb_id
LEFT JOIN recommendations ON recommendations.recommendations_tmdb_id=tmdb_movies.tmdb_id


Where tmdb_movies.tmdb_id= 155

GROUP BY tmdb_movies.movie_title
 ");


     // Then fire it up
     $stmt->execute();
     // Pick up the result as an array
     $result = $stmt->fetchAll();

    // Now you run through this array in many ways, for example
     for($x=0, $n=count($result); $x < $n; $x++){
$recommendations_name_list = explode(',',$result[$x]["recommendations_title"]);
$recommendations_vote_average = explode(',',$result[$x]["recommendations_vote_average"]);
foreach( $recommendations_name_list as $index => $recommendations_title ) {
           echo'
    <p>'.$recommendations_title.'- '.$recommendations_vote_average[$index].'</p>';
    }
}

Output of this code:
Batman Begins- 7.5

Batman Begins- 7.5

Batman Begins- 7.5

Batman Begins- 7.5

Batman Begins- 7.5

Batman Begins- 7.5

Batman Begins- 7.5

Batman Begins- 7.5

Batman Begins- 7.5

Batman Begins- 7.5

Captain America: The First Avenger- 6.6

Captain America: The First Avenger- 6.6

Captain America: The First Avenger- 6.6

Captain America: The First Avenger- 6.6

Captain America: The First Avenger- 6.6

Captain America: The First Avenger- 6.6

Captain America: The First Avenger- 6.6

Captain America: The First Avenger- 6.6

Captain America: The First Avenger- 6.6

Captain America: The First Avenger- 6.6

Inception- 8

Inception- 8

Inception- 8

Inception- 8

Inception- 8

Inception- 8

Inception- 8

Inception- 8

Inception- 8

Inception- 8

Iron Man- 7.3

Iron Man- 7.3

Iron Man- 7.3

Iron Man- 7.3

Iron Man- 7.3

Iron Man- 7.3

Iron Man- 7.3

Iron Man- 7.3

Iron Man- 7.3

Iron Man- 7.3

Iron Man 2- 6.6

Iron Man 2- 6.6

Iron Man 2- 6.6

Iron Man 2- 6.6

Iron Man 2- 6.6

Iron Man 2- 6.6

Iron Man 2- 6.6

Iron Man 2- 6.6

Iron Man 2- 6.6

Iron Man 2- 6.6

The Dark Knight Rises- 7.5

The Dark Knight Rises- 7.5

The Dark Knight Rises- 7.5

The Dark Knight Rises- 7.5

The Dark Knight Rises- 7.5

The Dark Knight Rises- 7.5

The Dark Knight Rises- 7.5

The Dark Knight Rises- 7.5

The Dark Knight Rises- 7.5

The Dark Knight Rises- 7.5

The Lord of th- 8

但是如果我删除这一行LEFT JOIN cast ON cast.cast_tmdb_id=tmdb_movies.tmdb_id 然后,我的 php 代码工作正常。

预期结果:

Batman Begins- 7.5

Captain America: The First Avenger- 6.6

Inception- 8

Iron Man- 7.3

Iron Man 2- 6.6

The Dark Knight Rises- 7.5

The Lord of the Rings: The Fellowship of the Ring- 8

The Lord of the Rings: The Return of the King- 8.1

The Lord of the Rings: The Two Towers- 7.9

The Matrix- 7.9

使用LEFT JOIN cast
对于选择值没有用(结果是选择,因为基于 maun 表 movie_title adn 不会返回有用的信息,因为 select 子句中的 di 表中没有列)并生成包含更多行的结果集

因此,如果您想坚持左连接,您可以将 DISTINCT 添加到原始查询中

 SELECT DISTICNT 
  tmdb_movies.movie_title
  ,GROUP_CONCAT(recommendations.recommendations_title  
        ORDER BY recommendations.recommendations_title) as recommendations_title
  ,GROUP_CONCAT(recommendations.recommendations_vote_average 
      ORDER BY recommendations.recommendations_title) as recommendations_vote_average

FROM tmdb_movies 

LEFT JOIN cast ON cast.cast_tmdb_id=tmdb_movies.tmdb_id
LEFT JOIN recommendations 
    ON recommendations.recommendations_tmdb_id=tmdb_movies.tmdb_id
Where tmdb_movies.tmdb_id= 155
GROUP BY tmdb_movies.movie_title

或者最好不要在演员表上使用左连接

   SELECT 
    tmdb_movies.movie_title
    ,GROUP_CONCAT(recommendations.recommendations_title  
          ORDER BY recommendations.recommendations_title) as recommendations_title
    ,GROUP_CONCAT(recommendations.recommendations_vote_average 
        ORDER BY recommendations.recommendations_title) as recommendations_vote_average

  FROM tmdb_movies 


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

在 PHP 中使用 group_concat 回显 mysql 数据 的相关文章

  • 这个巨大的正则表达式是如何工作的?

    我最近在我的一个目录中的一个名为的文件中找到了下面的代码doc php 文件功能或链接到文件管理器 做得非常好 基本上 它列出了当前目录中的所有文件 并且允许您更改目录 它可以访问我的所有文件 添加 重命名 信息 删除 我不记得安装过它 我
  • Ajax文件上传

    我想使用 Ajax 和 php 上传文件 我有一个表格
  • 从 php 到 JavaScript 的数组

    我正在尝试使用 json 将数组列表从 php 传输到 javascript 但它不起作用 JS ajax url getProfilePhotos php type post post or get method data if you
  • MySql 视图脚本中的注释

    可以这样做吗 我尝试过多个 gui mysql workbench navicat toad for mysql 但没有一个保存这样的注释 something important select something else importan
  • PHP-docker容器中的环境变量

    我想在我的 docker 容器中显示一个环境变量 PHP 脚本如下所示 我使用 OpenShift 来启动容器 PHP 容器显示 env is 现在我更改容器的 dc 配置 oc env dc envar USER Pieter deplo
  • Laravel 登录后重定向回来

    登录后如何重定向返回页面 在 Laravel 5 2 中 认证控制器 protected redirectTo 重定向用户
  • 如何使用 jQuery Ajax 将 PHP 数组值传递到另一个文件?

    这是我的代码
  • 如何在同一 PHP 页面上多次使用 mysqli fetch_assoc() 和准备好的语句?

    有没有办法启用fetch assoc 在同一页上多次使用准备好的语句 data conn gt prepare SELECT FROM some table WHERE id data gt bind param i id data gt
  • MySQL:如何仅获取正值的平均值?

    假设我有 INT 列 并且我使用 1 来表示插入时没有可用数据 我想获得该列中所有 0 或更大值的平均值 这可能吗 Thanks 我忘了提及 我正在与其他 AVG 一起执行此操作 因此从选项卡中选择 avg a avg b avg d 所以
  • 使(文本到图像)图像具有一定的宽度但无限的长度?

    我有下面的代码 可以用大量文本生成图像 我希望该图像的宽度为 700 像素 我还希望它保留字符串所具有的段落结构 该字符串来自 MySQL 数据库 我怎样才能实现这一点 font 2 width imagefontwidth font st
  • ACL授权失败后ZF3重定向

    我有一个带有 ACL 的新 ZF3 应用程序 现在 我需要在未经授权的访问的情况下重定向到错误页面 例如 403 我认为最好的方法是触发一个事件 然后捕获它 但我失败了 全部都在我的用户模块中Module php 摘录 namespace
  • 在 PHP 中接受带有小数点和千位分隔符的国际数字

    对于用户可以输入能量值来计算相应费用的在线计算器 我需要 PHP 脚本来接受各种用户输入 200 万又四分之一焦耳 的值可以输入为 2000000 25 默认表示法 2 000 000 25 带千位分隔符 2000000 25 逗号作为小数
  • 设置大型电子邮件通知系统有哪些方法?

    我的公司有一个用 PHP 构建的网站 我们使用内置的 PHP 电子邮件功能每天向订阅者发送数千封电子邮件 这是一个糟糕的主意 它堵塞了我们的服务器 并且需要几个小时才能完成整个批次 现在我已经研究过像 MailChimp 这样的群发邮件服务
  • PHP 中的encodeURI() ?

    PHP 中是否有一些不编码的encodeURI 函数 我现在用这个 function encodeURI url http php net manual en function rawurlencode php https develope
  • 使用 file_get_content 发布数据

    我已经做了一些关于如何使用的研究file get content与帖子 我也读过this one https stackoverflow com questions 2445276 how to post data in php using
  • Tomcat 6找不到mysql驱动

    这里有一个类似的问题 但关于类路径 ClassNotFoundException com mysql jdbc Driver https stackoverflow com questions 1585811 classnotfoundex
  • 点击 %40 变为 %2540

    当单击包含 符号的链接时 该网址给我 40 这就是我想要的 但是一旦我点击它 一秒钟后它就在我点击后变成了 2540 单击是在电子邮件内 然后定向到网站 其中 40 更改为 2540 我怎样才能让它停止变化 它现在得到这样的参数 email
  • Django 将 JSON 数据传递给静态 getJSON/Javascript

    我正在尝试从 models py 中获取数据并将其序列化为views py 中的 JSON 对象 模型 py class Platform models Model platformtype models CharField max len
  • 禁用 WooCommerce 手动/编辑订单的电子邮件通知

    需要 WooCommerce 专业知识 我需要禁用手动创建的订单的电子邮件通知 我必须使用处理状态 由于处理订单状态的自定义挂钩 我无法创建自定义状态 理想情况下 手动订单页面中可以勾选一个复选框 勾选后 它将禁止在每种状态下向客户发送电子
  • 通过 Sparkpost 发送 iCal 邀请

    我正在尝试使用 SparkPost 通过电子邮件以附件形式发送日历邀请 但收到电子邮件后邀请不会打开 我使用两个文件 calendarinvite php 来创建邀请 使用 Sendemail php 来发送电子邮件 calendarinv

随机推荐

  • 除了IEEE754之外还有其他常用的浮点格式吗?

    我正在编写一个编组层来自动转换不同域之间的值 当涉及浮点值时 这可能意味着将值从一种浮点格式转换为另一种浮点格式 然而 似乎几乎每个现代系统都在使用 IEEE754 所以我想知道是否真的值得推广以允许其他格式 或者只是管理不同 IEEE75
  • 形式中的形式。表单控件可以继承吗?

    我有两个组件 ParentComponent 和 ChildComponent 父组件 ts
  • UiAutomator -- 将小部件添加到主屏幕

    我对 Google 的 uiautomator 有相当多的经验 然而 当谈到向手机主屏幕添加小部件时 我似乎被难住了 现在让我们保持简单并假设要添加小部件的屏幕是空的 思考过程是打开应用程序抽屉 gt 单击小部件选项卡 gt 找到要添加的小
  • 背景图像的全宽和全高

    我正在为一个网站设置横幅 横幅由图像和其顶部的一些文本组成 代码如下 div class banner div p class banner text Line 1Line 2 p div 我需要的是图像覆盖屏幕的整个宽度 即使屏幕比图像宽
  • Web 应用程序架构:1 个或 n 个 API

    背景 我正在考虑网络应用程序组织 我将前端 浏览器网站 与后端 API 分开 2 个应用程序 2 个存储库 2 个托管 Front 几乎会调用 API 来完成所有事情 因此 如果我的 API 有两个独立的域服务 例如 学习上下文和预订上下文
  • group by 之后的拉丁猪袋到元组

    我有以下带有架构的数据 t0 chararray t1 int t2 int B 4 2 A 2 3 A 3 2 B 2 2 A 1 2 B 1 2 我想生成以下结果 按 t0 分组 并按 t1 排序 A 1 2 2 3 3 2 B 1 2
  • 文件上传 ['ERROR']= 2 [已关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我不断收到
  • 获取字符串中的第一个单词[重复]

    这个问题在这里已经有答案了 我想从向量中提取第一个字符串 例如 y lt c london hilss newyork hills paris jjk 我想获取符号 之前的字符串 即 location london newyork pari
  • 设置Android布局元素的背景颜色

    我正在尝试在某种程度上克隆活动的设计 然而 我在一项非常简单的任务上遇到了问题 我已经创建了如图所示的布局 标题是TextView in a RelativeLayout 现在我想改变背景颜色RelativeLayout 但我似乎无法弄清楚
  • 如何更改 xib 中的占位符文本颜色?

    如何更改 xib 中的占位符文本颜色 我已经尝试过关键路径的事情 但它给了我 NSException 任何人都可以帮忙吗 修改占位符文本颜色的最简单方法是通过 Xcode Storyboard 界面生成器 选择感兴趣的 UITextFiel
  • 为什么匿名类不能有 lambda 属性,但可以有 Func<> 属性? [复制]

    这个问题在这里已经有答案了 我正在尝试了解 C 对匿名类型的限制 考虑以下代码 var myAwesomeObject new fn1 new Func
  • 如何创建由两种颜色并排组成的android可绘制对象?

    使用 XML 是否可以创建一个可绘制对象 其中一半为 color1 另一半为 color2 当我将该可绘制对象设置为视图的背景时 它应该如下图所示 通过xml来做
  • 有什么办法可以配置Struts绑定null而不是空字符串吗?

    当用户决定将表单中的字段保留为空时 Apache Struts 会绑定为空String作为属性的值ActionForm 有什么方法可以全局修改行为并选择null而不是空的String 我知道 Spring MVC 的做法完全相同 但还有字符
  • PhoneGap 相机在捕获图像后无法确认

    我正在制作一个应用程序来测试 PhoneGap 的功能 以便稍后我可以将其用于更大的项目 我试图通过构建一个简单的测试应用程序来让相机 API 正常工作 该应用程序仅捕获并显示图像 奇怪的是 当我按下捕获按钮时会触发navigate cam
  • Scala 中的高效字符串连接

    JVM 通过以下方式优化字符串连接 并将其替换为StringBuilder 这在 Scala 中应该是一样的 但是如果字符串连接起来会发生什么 var x x x y x z 据我所知 该方法将字符串视为字符序列 因此即使 JVM 可以创建
  • 如何声明基于泛型类型的指针?

    我有一堂这样的课 type A class procedure
  • 将结构移至单独的文件中而不拆分为单独的模块?

    我有这个文件层次结构 main rs protocol protocol mod rs protocol struct rs In struct rs pub struct Struct members i8 impl Struct pub
  • 从静态类型到动态类型

    我一直致力于静态类型语言 C C Java 我一直在使用 Clojure 我真的很喜欢它 我担心的一件事是 假设我有一个窗口 它接受 3 个模块作为参数 并且随着需求的变化 我需要将另一个模块传递给函数 我只是更改了该函数 编译器在我使用它
  • 如何使用 grep 搜索当前目录中包含字符串“hello”但仅显示 .h 和 .cc 文件的所有文件?

    如何使用 grep 搜索当前目录中包含字符串 hello 的所有文件并仅显示 h 和 cc 文件 grep r include cc h hello 内容为 递归搜索 也在所有子目录中 查找包含 hello 的所有 cc 或 h 文件 当前
  • 在 PHP 中使用 group_concat 回显 mysql 数据

    这是我的 SQL 小提琴 SQL小提琴 http rextester com GERD25923 我正在尝试使用 PHP 来回显这个结果 这是我的预期结果 Some Stuff Here The Dark Knight Rises 7 5