php - 无法正确转换 SELECT 结果

标签 php

不确定这应该用 PHP 还是 MySQL。

我有这个问题:

SELECT 
  product.*, 
  company.company-name 
FROM 
  products 
INNER JOIN 
  company ON products.company-id=company.id 
ORDER BY 
  company.company-name, 
  product.model

我正在使用这个输出:

$group = array();
  while ($row = mysqli_fetch_assoc($result)) {
   $group[ $row['company-name'] ][] = $row;
}

foreach ($group as $company-name => $models) {
  foreach ($models as $model) {
    echo "Product Name: $model[model-name]";
    echo "Color: $model[color]";
    echo "Core Company: $model[core-company-id]"; // this is the line I am trying to fix
}

显然在我上面的输出中,如果我输出 $model[core-company-id] 它只会是数字。我希望“公司”表中的相应公司(核心公司 ID = 正确的公司名称/公司名称)位于其位置。

我不知道该怎么做。我能否以某种方式调整我的原始 SELECT 查询/结果,我是否需要额外的查询,或者我是否可以通过某种方式修改 php 输出来解决这个问题?

编辑:我应该补充一点,核心公司名称将不同于我在初始 SELECT 中检索的 $company-name。那家公司是产品公司名称,但“核心”的制造商大多数时候会是不同的公司 例如,如果 core-company-id 是 20,我希望将 company.company-name 的 company.id 为 20 的公司放在那里

感谢您的帮助。

编辑 2:请耐心等待我添加表格数据等。很抱歉没有很好地解释这一点,我发现很难用语言表达。

编辑 3:更多信息。

我有两个表:

表“Product”包含:id、main-company-id、model-name、color、core-company-id

表'公司包含:id,公司名称

我的输出目前看起来像这样:

COMPANY NAME (comes from company.company-id)
Product 1 Name: Item name
Color: Blue
Core Company: 27 (comes from product.core-company-id)

Product 2 Name: Item 2 name
Color: Blue
Core Company: 35 (comes from product.core-company-id)

COMPANY NAME
Product 1 Name Item 1 Name
Color: Green
Core company: 27 (comes from product.core-company-id)

很难正确发布输出示例。啊。我做的不是很好吗?

最佳答案

这应该有效:

foreach ($group as $company-name => $models) {
  foreach ($models as $model) {
    echo "Product Name: $model[model-name]";
    echo "Color: $model[color]";
    echo "Core Company: " . $company-name; // this is the line
  }
}

关于php - 无法正确转换 SELECT 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21743617/

相关文章:

php - JavaScript 警告框结合 PHP

php - 正则表达式足以阻止注入(inject)攻击吗?

php - 使用 PHP 将数据库行放入数组中?

php - 如何在任何方法php中存储临时数据

javascript - 根据输入字段上的用户信息创建动态链接 URL

Javascript/PHP 重定向

php - 无法在 php 中读取 python 的输出

fsockopen() 中的 PHP ipv6 支持

php - 打印查询问题 - MySQL、PHP、HTML -

php - CodeIgniter session set-cookie duplicated -- 如何解决