Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.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 - Fatal编程技术网

如何在php中统计来自相同城市的用户

如何在php中统计来自相同城市的用户,php,mysql,Php,Mysql,我需要统计来自同一城市的用户。记录在一个表中。以下是我到目前为止所做的 <?php $SelectCities = mysqli_query($con, "SELECT * FROM users "); while($row=mysqli_fetch_assoc($SelectCities)){ $total_cities = mysqli_query($c

我需要统计来自同一城市的用户。记录在一个表中。以下是我到目前为止所做的

<?php
$SelectCities = mysqli_query($con, "SELECT * FROM users ");
while($row=mysqli_fetch_assoc($SelectCities)){
                                                
$total_cities       =   mysqli_query($con,"SELECT * FROM users WHERE user_id='$user_id' AND user_type='seller' AND user_status = 'Active'");
$total_cities_count =   mysqli_num_rows($total_cities);
?>
<div class="col-md-4 col-sm-6 col-lg-4">
<ul class="locat-list">
<li><?php echo $row['city'];?> <span>( <?php echo $total_cities_count; ?> )</span></li>
</ul>
</div>
<?php } ?>

以下是在SQL中执行此操作的最简单方法。希望这有助于:

SELECT city, COUNT(userid) 
FROM users 
GROUP BY city 
ORDER BY city ASC

在这里,我在employee表中统计city wise的用户数。使用
php-pdo

<?php

// This is a my database connection
$host_name = 'localhost';
$db_name = 'stackoverflow';
$user_name = 'root';
$password = '';

$conn = new PDO("mysql:host=$host_name; dbname=$db_name;", $user_name, $password);

$sql = "SELECT city, COUNT(*) as employee_number FROM employee GROUP BY city"; //This is a query count number of employee city wise
$count_user_cityWise = $conn->prepare($sql);
$count_user_cityWise->execute();

?>
<table>
    <thead>
        <tr>
            <th>City</th>
            <th>Number of employee</th>
        </tr>
    </thead>
    <tbody>
        <?php
            while ($data = $count_user_cityWise->fetch()) {
                echo "<tr>";
                echo "<td>";
                echo $data['city'];
                echo "<td>";
                echo "<td>";
                echo $data['employee_number'];
                echo "<td>";
                echo "</tr>";
            }
        ?>
    </tbody>
</table
?>

城市
雇员人数

警告:当使用
mysqli
时,您应该使用和向查询中添加任何数据。不要使用字符串插值或串联来完成此操作,因为您已经创建了严重的错误。切勿将
$\u POST
$\u GET
或任何类型的数据直接放入查询中,如果有人试图利用您的错误,这可能会非常有害。欢迎使用!请阅读和。注意:明显减少了详细性,使代码更易于阅读和审核,并且不容易与过时的
mysql\u查询
接口混淆,因为缺少单个
i
可能会造成麻烦。使用这种风格:
$db=newmysqli(…)
$db->prepare(“…”)
过程接口是PHP4时代的产物,不应在新代码中使用。此外,过程界面的错误检查和报告不太严格,这会阻碍调试工作。请使用
分组方式
,然后使用
计数(*)
。e、 g.
按城市从用户组中选择count(*),城市
。这将为您提供同一城市的用户计数(假定输入的城市名称完全相同)。不确定用户id查询的目标是什么。谢谢用户3783243。我刚刚意识到,用户id被我弄错了。我将查询写成$SelectCities=mysqli_query($con,“按城市从用户组中选择计数(*),城市”);对吗?那么如何拨打用户的电话号码呢?Alex,最后你能告诉我,如何拨打吗?我的意思是如何显示用户数?它是固定的。刚刚将Alex query编辑为$SelectCities=mysqli_query($con,“按城市顺序按城市ASC从用户组中选择城市,计数(userId)为totalUsers”);然后算作