【问题标题】:display total count of records in per user显示每个用户的记录总数
【发布时间】:2014-05-26 21:36:14
【问题描述】:
$u=$_POST['userid'];

$sql=mysqli_query($con,"SELECT COUNT(username) AS total FROM TABLENAME where username=$u");

这个查询只返回username=$u的总记录

我希望全部显示所有用户记录

我想要喜欢的东西

User           Records
User1            1152
user2            2365
user3            2365 
------            -------
userN           XXX

我正在使用 php 和 mysql。

还请告知。我应该回应什么,$sqlTotal

感谢您的帮助

我试过这个:在线接收错误:

while($fetch = mysql_fetch_assoc($sql))

这是你们给我的代码

'; print_r($array); mysqli_close($con); ?>

再次感谢

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    尝试使用GROUP BY

    $sql = mysqli_query($con,"SELECT username, COUNT(username) AS total 
                              FROM TABLENAME GROUP BY username");
    
    $array = array();
    while($fetch = mysqli_fetch_assoc($sql))
    {
        $array[$fetch['username']] = $fetch['total'];
    }
    
    echo '<pre>'; print_r($array);
    

    $array 会给你你想要的。

    【讨论】:

    • 在线错误:警告:mysql_fetch_assoc() 期望参数 1 是资源,在第 21 行的 C:\wamp\www\xxx.php 中给出的对象 第 21 行:while($fetch = mysql_fetch_assoc( $sql))
    • 对不起。有一个错字。请使用mysqli_fetch_assoc() 而不是mysql_fetch_assoc()
    【解决方案2】:

    这应该可以解决每个用户的问题:

    SELECT COUNT(username) AS total FROM TABLENAME GROUP BY username
    

    【讨论】:

      【解决方案3】:

      SELECT COUNT(username) AS total FROM TABLENAME GROUP BY username

      如果您也想查看它是哪个用户,只需将其添加到 SELECT 中即可:

      SELECT username, COUNT(username) AS total FROM TABLENAME GROUP BY username
      

      ^如问题中所述,应该这样做。

      显示结果:

      $u=$_POST['userid'];
      
      $sql=mysqli_query($con,"SELECT COUNT(username) AS total FROM TABLENAME where username=$u");
      
      while ($user = $sql->fetch_assoc()){
          echo($user["username"] . ": " . $user["total"]);
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-02-20
        • 1970-01-01
        • 2020-08-08
        • 1970-01-01
        • 1970-01-01
        • 2021-11-04
        • 2018-08-26
        相关资源
        最近更新 更多