Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 显示特定字段的所有结果,并使用内部联接显示其余字段的一个结果_Php_Mysql_Sql - Fatal编程技术网

Php 显示特定字段的所有结果,并使用内部联接显示其余字段的一个结果

Php 显示特定字段的所有结果,并使用内部联接显示其余字段的一个结果,php,mysql,sql,Php,Mysql,Sql,我需要在创建的区域中显示店铺,并注明下订单的日期。我创建了第三个表来连接已经存在的两个表(shops&area),并使用内部连接来连接它们。首先,我得到了如下结果: area name: name1 shops: shop1 date: date1 area name: name1 shops: shop2 date: date1 我需要: area name: name1 shops: shop1, shop2 date: date1 然后我找到了一些代码并将其包含在脚本中,但它只适用于

我需要在创建的区域中显示店铺,并注明下订单的日期。我创建了第三个表来连接已经存在的两个表(shops&area),并使用内部连接来连接它们。首先,我得到了如下结果:

area name: name1
shops: shop1
date: date1

area name: name1
shops: shop2
date: date1
我需要:

area name: name1
shops: shop1, shop2
date: date1
然后我找到了一些代码并将其包含在脚本中,但它只适用于一行(下面代码中的名称)。如果我试着用elseif查找带有该代码的日期,它会显示错误。代码如下

<?php
include('db.php'); 
$result = mysql_query("SELECT * FROM area INNER JOIN area_join ON area.id = area_join.area_id INNER JOIN shops ON area_join.shops_id = shops.id ") or die("Error: " . mysql_error());; 
while($data = mysql_fetch_assoc($result)){
if($data['name'] != $groupname){
echo "<br><hr>Area name: ".$data['name']."<br />Shops: ";
$groupname = $data['name'];
}
echo "".$data['shop_name'].", ";
}
?>

使用
集团公司

SELECT  areaName,
        GROUP_CONCAT(DISTINCT shopname) shopList
FROM    area 
        INNER JOIN area_join 
            ON area.id = area_join.area_id 
        INNER JOIN shops 
            ON area_join.shops_id = shops.id 
GROUP   BY  areaName
将表中的列名更改为您的原始名称。

您是否尝试过group\u concat?(现在不能测试,但我想是这样的)

。它们不再得到维护。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。
SELECT areaname,group_concat(shops) FROM area INNER JOIN area_join ON area.id =    area_join.area_id INNER JOIN shops ON area_join.shops_id = shops.id
Group by areaname