不确定这应该用 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/