在同一个表中回显具有相同列名的多个值

2024-01-12

我有 2 个表,一个用户表和一个交易表。

看起来像:

我现在的代码结构是:

<?php 
$history = mysqli_query($con, "SELECT * FROM .......");

while($row = mysqli_fetch_array($history)) { 
echo("The sentence");
} ?>

我面临的问题是我试图回显用户名,在一种情况下必须是接收者,而在另一种情况下必须是提供者。


专家提示:Never use SELECT *除非您确切知道这样做的原因,否则在软件中。在你的情况下这是有害的。

我假设你的查询确实反对user and trade您在问题中提到的表格。

首先,使用 21 世纪 SQL 重新编写查询,如下所示:

SELECT * 
  FROM trade AS t
  JOIN user AS s ON  s.user_id = t.user_id_sender
 WHERE s.facebook_id = $fbid 

其次,用它来检索您的用户名和交易的项目 ID。

SELECT s.user_name AS sender,
       r.user_name AS receiver,
       t.trade_id AS item_id
  FROM trade AS t
  JOIN user AS s ON  s.user_id = t.user_id_sender
  JOIN user AS r ON  r.user_id = t.user_id_receiver
 WHERE s.facebook_id = $fbid 

看看我们如何JOIN the user表两次,有两个不同的别名s(对于发件人)和r(对于接收者)?这就是从 ID 中获取两个名字的技巧。

看看我们如何使用别名sender and receiver来消除两者的歧义user_name结果集中的列?

现在,当你使用 phpfetch_array函数,您最终将在数组中得到这些元素。

$history['sender']
$history['receiver']
$history['item_id']

数组索引字符串对应于您在SELECT您的查询中的子句。

所以,避免的原因之一SELECT *是你可以获得多个具有相同名称的列,这意味着fetch_array将消除这些重复项,因此它将丢失结果集中的有用信息。

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

在同一个表中回显具有相同列名的多个值 的相关文章

  • MySQL 错误“连接过多”

    我正在将 MySQL 5 0 用于由 GoDaddy linux 托管的网站 我正在对我的网络应用程序进行一些测试 突然我注意到页面刷新速度非常慢 最后 经过漫长的等待 我到达了一个页面 上面写着 MySQL 错误 连接太多 它指向我连接到
  • mysql:谁阿米?

    有没有whoami类似mysql中的函数 我正在从远程主机连接到 mysql 命令行 我不确定我的 IP 地址是否解析为域名 我想看到类似的东西 mysql gt whoami User Host username resolved hos
  • MySQL如何在没有过程/函数的情况下执行命令块

    我尝试在 MySQL Workbench 上运行一段 SQL 命令 就像在 SQL Server 上一样 但它告诉我 声明在此位置无效 我在网上看到了各种这样的例子 我真的不明白为什么会出现这个错误 一些提示 代码 其中 SQL Serve
  • 导入mysql数据库出错

    我导出我的数据库并导出到另一台计算机使用 phpmyadmin 但它错误 静态分析 分析过程中发现2处错误 意想不到的角色 靠近位置 53 的 无法识别的语句类型 位置 1 的 div 附近 SQL查询 div class error h1
  • 如何使用 PHP 在邮件正文中发送 Base64 图像?

    我正在尝试使用下面的代码使用 PHP 发送一封正文上包含 base64 图像的电子邮件 但该图像永远不会出现 如果我更改为 URL 它可以工作 但它不能与 base64 一起使用 我只在新页面上测试了base64 img src base6
  • PhpMyAdmin 导出不包括 mysqldump 中的主键

    用PhpMyAdmin导出同一个表的结构 DROP TABLE IF EXISTS test apprentis CREATE TABLE IF NOT EXISTS test apprentis a id smallint 10 NOT
  • 如何使用 Libsodium-PHP 加密/解密 AES

    我需要用 PHP 加密 解密数据 我对此完全陌生 但是我读到 Libsodium PHP 是 AES 加密的最佳工具 就像我研究过的其他 PHP 加密库一样 Libsoduim PHP 似乎几乎没有提供如何使用该库的文档 我能够找到 任何有
  • .htaccess 重写规则冲突

    我正在编写代码并构建一个 htaccess 文件 其中包含以下内容 RewriteEngine on RewriteRule A Za z0 9 A Za z0 9 index php id 1 NC L Handle page reque
  • 将 WordPress 的登录/注册页面重定向到自定义登录/注册页面

    我有一个网站 有一个用户系统 我想将 WordPress 的用户系统集成到该网站的用户系统中 但我仍然想使用该网站的注册 登录页面 我不希望任何人能够使用 Wordpress 的登录或注册表单登录或注册 相反 当他们尝试访问 Wordpre
  • Amazon ec2 无法在 ios 上发送推送通知

    我在 Amazon ec2 php 7 中使用以下 php 代码
  • WordPress 子主题 style.css 不起作用

    我创建了一个与父主题格式相同的文件结构 我的父主题称为 Alpine Alpine 中有一个functions php 和style css 文件 似乎没有任何其他 style css 文件 我创建了一个名为 Alpine child 的目
  • 在 Symfony 中重定向之前访问调试(分析器)信息

    提交表单后 我通常将用户重定向到另一个页面 表单本身除外 因此我丢失了配置文件 调试信息 如日志 我的意思是 单击 调试工具栏 后 我会获得有关重定向后请求的信息 但我确实知道 Symfony 保留有关上一页的信息 我的意思是它不会忘记它
  • Yii 框架将变量从控制器传递到视图

    要将变量传递给登录视图 我使用 this gt render login array model gt model 但我还需要在模板部分 footer php 中访问此变量 我试试这个 this gt render footer array
  • 如何在 Centos 7 上手动安装 PHP-Zts

    我想安装 pthreads 当我尝试安装时 我会收到此错误 checking for ZTS no configure error pthreads requires ZTS please re compile PHP with ZTS e
  • 来自发布数据的 CodeIgniter 未通过

    我试图在 CodeIgniter 中上传文件 但是当我添加 enctype multipart form data 时 不会有任何发布数据通过 甚至其他领域也根本没有 但是 当我不添加它时 我可以获得其他帖子数据 但当然没有文件上传 这里出
  • 如何使用 PHP 代码从服务器下载文件

    如何从任何服务器下载 PHP 代码文件 您可以使用 Curl 使用 php 从网络下载文件 function curl get file contents URL c curl init curl setopt c CURLOPT RETU
  • XML 和 INI 哪个更快?

    我想知道 XML 是否比 INI 更快 反之亦然 我正在开发一个包含许多文件的网站 这个问题与我的问题有关关于包含许多文件 https stackoverflow com questions 7777522 too many include
  • MySQL max_allowed_pa​​cket 参数有什么问题?

    我需要增加 max allowed pa cket 参数 以适应一些理论上非常大的项目 如果我将此参数设置为 10M 那么与设置为 1M 或 4M 相比 我要支付什么价格 如果有的话 感谢您的任何意见 托马斯 我找到了这个解释 http w
  • 如何读取 sql 查询到 pandas dataframe / python / django

    我在下面使用这个views py获取应用程序 from django db import connection def test request cursor connection cursor sql SELECT x n from ta
  • 选择列表包含非聚合列

    自从更新 MySQL 以来 我注意到以下查询失败 SELECT u p name as plan COUNT u id as totalprojects FROM users u LEFT JOIN plans p ON p id acce

随机推荐

  • 在 SSIS 中使用正确的函数拆分列中的值

    我需要你们的紧急帮助 我有一列代表用户的全名 现在我想将其分为名字和姓氏 全名的格式为 World hello 现在这里的名字是 hello 姓氏是 world 我正在使用派生列 SSIS 并对名字使用右函数 对姓氏使用子字符串函数 但这些
  • 如何模拟 csv 文件

    我有一个 csv 解析器模块 可以解析非常特定类型的 csv 文件并从中提取字段 现在为了测试这个模块 我正在编写一些单元测试 传统上 为了测试模块 我会创建一个格式相同但条目有限的示例 csv 文件 然后将此文件传递给模块并检查输出 显然
  • Google Glass 的 Hello World 程序 - 一步一步

    一周前我开始阅读有关 Google Glass 开发的内容 包括this https developers google com glass overview 然而 我仍然找不到开发 完整的hello world程序 的教程 我所说的 完整
  • 使用流将列表拆分为 n 大小的较小列表[重复]

    这个问题在这里已经有答案了 如何获取 Java 列表并将其拆分为较小的大小列表n在Java中使用流 在 JavaScript 中 我会使用reduce 函数并执行如下操作 const n 3 const sublists 1 2 3 4 5
  • 如何根据大小在表格行中显示图像

    有2x2网格 动态使用TableLayout 需要显示图像 现在基于图像大小 意味着 如果图像适合 1 个单元格意味着 1 个单元格 否则大意味着基于大小的 2 个单元格或 4 个单元格 我知道它将占用多少个单元格 我可以在 1 个单元格中
  • 为什么我收到错误没有这样的列?

    我有公司模型和模型 Invintaton 公司可以邀请其他公司进行消息传递 现在我需要只显示确认消息传递的公司 class Company lt ActiveRecord Base has many sent invitations cla
  • Lucene 查询语言和数值范围

    我应用以下 Lucene 查询谓词来获取 2 到 6 范围内的所有数字 value 2 TO 6 并接收具有以下值的文档 567986400000 567986400000 567986400000 536450400000 5364504
  • 使用 p 元素而不是 span 渲染 JSF h:message

    我想创建一个自定义消息渲染器来将 h message 渲染为 p html 元素而不是 span 元素 它涉及以下消息标签
  • Java:包不存在

    我在目录 E stuff Java gt 我创建了一个包A package pack public class A public void methodA System out println MethodA 为了编译 我使用了以下语句 j
  • 使纹理 LibGDX 居中

    我试图在 LibGDX 中将 256px X 256px 图像居中 当我运行我正在使用的代码时 它会在窗口的右上角渲染图像 对于我使用的相机的高度和宽度Gdx graphics getHeight and Gdx graphcis getW
  • UISearchBarStyleMinimal 在 UISearchBar 顶部显示范围按钮

    当我应用 UISearchBarStyleMinimal 时 我的范围按钮会绘制在搜索栏上 这是常规样式的样子 当我应用该样式时 我得到这样的结果 有谁知道为什么会发生这种情况 以及我能做些什么来解决它 当我删除范围按钮时 它看起来非常好
  • ModuleNotFoundError:尝试安装 dash 时没有名为“_brotli”的模块

    我尝试在 mac 操作系统上安装 dash 在 python 脚本上运行 import dash 时出现以下错误 Traceback most recent call last File app py line 16 in
  • “错误:没有匹配的函数可供调用”

    我正在使用键盘 并试图提高我使用 C 的技能 我以前从未使用过模板 所以我尝试研究如何使用它们 下面的代码是结果 不幸的是 它不起作用 我确实尝试寻找问题的解决方案 但由于我没有太多使用模板的经验 因此我无法在我的问题和其他问题之间建立任何
  • Firestore:从 id = x 的“子”集合中获取所有项目

    我正在使用 cloud firestore 作为后端数据库 因为我不太熟悉它 我对以下内容有点困惑 数据库设置 Messages collection gt itemId doc gt itemMessages collection gt
  • 在代码隐藏中更改文本框背景颜色

    我如何将代码隐藏中的文本框背景颜色更改为如下所示 Textbox1 BackColor F2F0E1 代替 Textbox1 BackColor System Drawing White 你可以尝试这样的事情 Textbox1 BackCo
  • 如何捕获引导日期选择器更改事件?

    现在我试图在用户更改日期后做一些事情 但好像我的ng change被忽略 这是我的代码示例
  • 通过 AddThis API 自动缩短电子邮件/Facebook 与 Bitly 共享的 URL

    使用 AddThis 中的内置 Bit ly 缩短服务时 我无法缩短 AddThis 电子邮件弹出窗口中显示的 URL 它适用于 Twitter 但不适用于 Facebook 和电子邮件 支持吗 var addthis share url
  • 删除特定字符之后的所有字符

    我有这样的话 Sams like costco Jecy penny like sears 在Java中 我想获取这个字符串并得到输出 Sams Jecy penny 有什么办法可以删除之后的所有字符 and 三个选项 Use indexO
  • 如何创建 RAR 压缩文件,压缩文件名中包含当前日期?

    我有文件夹D data有很多子文件夹和文件 我想用批处理文件将该文件夹存档到指定目录 并在存档文件名中添加当前日期 例如F 11 08 2016 data 到目前为止我的命令行是 C Program Files WinRAR rar exe
  • 在同一个表中回显具有相同列名的多个值

    我有 2 个表 一个用户表和一个交易表 看起来像 我现在的代码结构是 我面临的问题是我试图回显用户名 在一种情况下必须是接收者 而在另一种情况下必须是提供者 专家提示 Never use SELECT 除非您确切知道这样做的原因 否则在软件