Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.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 联接表的foreach循环_Php_Mysql - Fatal编程技术网

Php 联接表的foreach循环

Php 联接表的foreach循环,php,mysql,Php,Mysql,我试图在一个循环中列出用户,但我希望将城市名称保留在循环之外。我需要另一个查询或if语句吗 我想要的结果是: 伦敦用户: 詹姆斯,鲍勃 纽约用户: 大卫 用户表 ==================== id用户\名称用户\城市\ id用户\类型 海伦2娜 2詹姆士1高级 3.1正常 4鲍勃1正常 城市表 ============= 城市标识城市名称城市状态 1伦敦1 2纽约1 3巴黎0 如果您想按城市列出用户,您需要切换您的加入,或者您需要在应用程序级别重新构造您的数据,这从来都不是好的,但有

我试图在一个循环中列出用户,但我希望将城市名称保留在循环之外。我需要另一个查询或if语句吗

我想要的结果是:

伦敦用户: 詹姆斯,鲍勃

纽约用户: 大卫

用户表
====================
id用户\名称用户\城市\ id用户\类型
海伦2娜
2詹姆士1高级
3.1正常
4鲍勃1正常
城市表
=============
城市标识城市名称城市状态
1伦敦1
2纽约1
3巴黎0

如果您想按城市列出用户,您需要切换您的加入,或者您需要在应用程序级别重新构造您的数据,这从来都不是好的,但有时是必要的

您的示例有很多问题,但是要实现您的目标,请将SQL更改为

SELECT * 
FROM cities
JOIN users
ON cities.city_id = users.user_city_id
WHERE city_status = '1'
AND user_type IN ('NORMAL','PREMIUM')
然后


使用者

您可以通过SQL查询来完成

    SELECT cities.city_name, GROUP_CONCAT(users.user_name) AS names
    FROM users INNER JOIN cities ON cities.city_id = users.user_city_id
    WHERE city_status = '1' AND user_type IN ('NORMAL','PREMIUM')
    GROUP BY cities.city_id
在PHP中

    foreach($getcities as $row) {
          echo $row->city_name . ": " . $row->names;
    }

在foreachPerfect之前,$行中的内容是什么!非常感谢!:)如果我需要回显用户表中的另一行怎么办?有办法按城市对用户进行分组吗?我试过按城市名称分组,但只显示了2个records@BlueCat这正是我向你们展示的方法。
    SELECT cities.city_name, GROUP_CONCAT(users.user_name) AS names
    FROM users INNER JOIN cities ON cities.city_id = users.user_city_id
    WHERE city_status = '1' AND user_type IN ('NORMAL','PREMIUM')
    GROUP BY cities.city_id
    foreach($getcities as $row) {
          echo $row->city_name . ": " . $row->names;
    }