dtlh12053 2015-09-15 15:17
浏览 86
已采纳

PHP Count数组索引并将整数转换为字符串

I got an array taken from an mysqli query, this array contain a list of tasks. I must to count how many tasks is in the array ( so only the number of row ) and put in a icon badge as a human readable number.

     try {
    $db = new PDO("mysql:host=127.0.0.1;dbname=c9", "andreaem_dev", "");

    //echo "Connected to database<br/>"; // check for connection

    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);

    $sql = "SELECT ID FROM data_tasks WHERE data_tasks . user = 'admin'"; //I'm selecting ID so only one element on the row is count
    $result = $db->query($sql);
    foreach ($result as $row) {

            $row = $result->fetch(PDO::FETCH_NUM);
            echo $row[0];
        }

    $db = null; // close the database connection

}

catch(PDOException $e) {
    echo $e->getMessage();
}

With this code i get a int(2) response, the array contains 5 element and i don't know where it takes '2', even i must to convert it in a number.

Thanks in advice for help!

  • 写回答

1条回答 默认 最新

  • doushengyou2617 2015-09-15 15:52
    关注

    *sigh*

    You need to use count() function in mysql. this is how databases intended to work: they count your data for you. You don't need to count by hand. You don't need to select id. You don't need to loop over results. You don't need to convert number to string. You just have to ask database to count and then get the result.

    $db = new PDO("mysql:host=127.0.0.1;dbname=c9", "andreaem_dev", "");
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $sql = "SELECT count(*) FROM data_tasks WHERE user = 'admin'";
    $count = $db->query($sql)->fetchColumn();
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)