Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.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在while循环中显示单个列_Php_Mysql_While Loop_Echo - Fatal编程技术网

使用PHP在while循环中显示单个列

使用PHP在while循环中显示单个列,php,mysql,while-loop,echo,Php,Mysql,While Loop,Echo,我找了很多,仍然找不到满意的答案。请查看下面的mysql示例表: id | Name | Country 1 | User1 | India 2 | User2 | India 3 | User3 | India 4 | User4 | Australia 5 | User5 | Australia 我想

我找了很多,仍然找不到满意的答案。请查看下面的mysql示例表:

id    |    Name        |    Country
1     |    User1       |    India
2     |    User2       |    India
3     |    User3       |    India
4     |    User4       |    Australia
5     |    User5       |    Australia
我想使用PHP在while循环中显示上表,如下所示:

Country Name:         |        Total Members From The Country:
India                 |        3
Australia             |        2

我只想定位并只显示一列/字段,即“国家”。任何人都可以在这里共享查询代码,这样我就可以继续我的工作,并感谢您的时间。

您可以搜索的关键字是
分组依据
计数
。然后,查询应该如下所示:

SELECT Country, COUNT(*) FROM Users GROUP BY Country;
这将根据
Country
列的值对所有行进行分组,并使用
count
对行进行计数,这将为每个国家提供一行,并在表中显示相应的计数


您可以使用
WHERE
扩展查询以筛选特定国家/地区。

您可以搜索的关键字是
分组依据
计数
。然后,查询应该如下所示:

SELECT Country, COUNT(*) FROM Users GROUP BY Country;
这将根据
Country
列的值对所有行进行分组,并使用
count
对行进行计数,这将为每个国家提供一行,并在表中显示相应的计数

您可以使用
扩展查询,其中
用于筛选特定国家/地区。

尝试此查询:

SELECT country, count(*) as total_member
FROM your_table
GROUP BY country
如果获取关联数组,则结果应该如下所示:

$result = array(
    0 => array (
        "country" => "India",
        "total_member" => 3

    ),
    1 => array (
        "country" => "Australia",
        "total_member" => 2
    )
);
然后循环浏览结果并显示所需内容:

foreach ($result as $key => $value) {
    echo $value['country'] . " | " . $value['total_member'];
}
调整,使它看起来像你想要的

这是您想要的吗?

尝试以下查询:

SELECT country, count(*) as total_member
FROM your_table
GROUP BY country
如果获取关联数组,则结果应该如下所示:

$result = array(
    0 => array (
        "country" => "India",
        "total_member" => 3

    ),
    1 => array (
        "country" => "Australia",
        "total_member" => 2
    )
);
然后循环浏览结果并显示所需内容:

foreach ($result as $key => $value) {
    echo $value['country'] . " | " . $value['total_member'];
}
调整,使它看起来像你想要的



这是您想要的吗?

谢谢您的回答,国家/地区字段可能包含其他数据以及其他100个或更多国家/地区名称。那么,我是否需要将所有内容放入数组中以通过循环显示呢?主要的一点是查询。这样做的目的只是创建一个查询,返回您想要的内容:此处每个国家的国家名称和用户数量:)一旦得到结果,您就可以做您想要做的事情了!您可以创建一个html表,并使用foreach循环为每个国家/地区/用户数创建行,您只需进行回显,等等。我尝试了您的代码,得到了错误消息“mysqli_fetch_array()期望参数1为mysqli_result,boolean给定”我不使用mysqli抱歉,我使用了…我只是给您一个查询,你可以用它来取结果不?我不明白,因为我还在学习。如果可能,请给我完整的代码作为示例。谢谢您的回答,国家字段可能包含其他数据以及其他100个或更多国家的名称。那么,我是否需要将所有内容放入数组中以通过循环显示呢?主要的一点是查询。这样做的目的只是创建一个查询,返回您想要的内容:此处每个国家的国家名称和用户数量:)一旦得到结果,您就可以做您想要做的事情了!您可以创建一个html表,并使用foreach循环为每个国家/地区/用户数创建行,您只需进行回显,等等。我尝试了您的代码,得到了错误消息“mysqli_fetch_array()期望参数1为mysqli_result,boolean给定”我不使用mysqli抱歉,我使用了…我只是给您一个查询,你可以用它来取结果不?我不明白,因为我还在学习。如果可能的话,你能给我完整的代码作为示例。你能发布你迄今为止尝试过的代码吗?你能发布你迄今为止尝试过的代码吗?同一个国家可能有10行,其他国家可能有20行,所以我能获得我想要的结果吗?是的,这就是
groupby
的目的。它将在该列中对相同的值进行分组。我仍在学习,如果可能的话,请您给我完整的代码作为示例。同一个国家可能有10行,其他国家可能有20行,因此我可以获得我想要的结果吗?是的,这就是“分组依据”
的目的。它将在该列中对相同的值进行分组。我仍在学习中,如果可能的话,请给我完整的代码作为示例。