dongtao5104 2017-08-31 11:03
浏览 6
已采纳

选择db列,其中包含同一行中已定义的列

It might be a bit confusing but let me explain.

So I have this DB

ID | username  | status
1  | Bob       | On
2  | James     | On
3  | Jack      | Off
4  | Bob       | Off
5  | Arthur    | On

How can I echo all the names which include status on? I tried something like

$reponse = $pdo->query('SELECT username, COUNT(1) as CNT FROM   users GROUP BY  status;');
$donnees = $reponse->fetch();
foreach ( $reponse as $key => $value ) {
   echo '<li><a href="#"><i class="fa fa-circle-o">  '.$value['username'].'</i></a></li>';
}

Expected result

Echo: Bob James Arthur

But it only prints out the 1st ID who is offline (in this case Jack).

Thank you

PS: I'm learning PHP/MySQL at this moment so I feel kinda lost, If you share an answer please explain why you use your code and where I was wrong thank you.

  • 写回答

2条回答 默认 最新

  • dongzh1988 2017-08-31 11:17
    关注

    As per your expected result, you don't need a group by here:

    $reponse = $pdo->query('SELECT username FROM   users   WHERE  status="On"');
    

    This will give you the result as :

    username    
    ----------
    Bob     
    James   
    James
    

    If you want to count them:

    $reponse = $pdo->query('SELECT username,count(1) as cnt FROM   users   WHERE  status="On" group by username');
    
    username    cnt
    ----------------
    Bob     1
    James   2
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 matlab答疑 关于海上风电的爬坡事件检测
  • ¥88 python部署量化回测异常问题
  • ¥30 酬劳2w元求合作写文章
  • ¥15 在现有系统基础上增加功能
  • ¥15 远程桌面文档内容复制粘贴,格式会变化
  • ¥15 关于#java#的问题:找一份能快速看完mooc视频的代码
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄