我有一个叫做Reports的MySQL表格,里面有一个名为Status的列。这设置为打开,待定或关闭。我需要能够计算分别设置为“打开”,“关闭”和“待定”的报告数量。我还需要将这些数字放入单个变量中以便在图形中使用。如何计算某个值在MySQL列中出现的次数?
我在网站上使用PDO,很容易添加,编辑和检索数据,但我不能为我的生活得到这个工作。我发现PDO非常混乱且难以学习,因为在我可以在网上找到的所有示例中,每个人似乎都使用完全不同的格式,语法和变量名称。我不知道我是否甚至在这个正确的轨道上。这是我到目前为止所提出的;
try {
$DBH = new PDO("mysql:host=localhost;dbname=$dbname",$dbuser,$dbpass);
$DBH->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$STH = $DBH->prepare("SELECT status, COUNT(*) FROM reports GROUP BY status");
$result = $STH->fetch();
}
catch(PDOException $e) {
echo $e->getMessage();
}
我没有得到任何错误或任何东西。我怎样才能解决这个问题?
作为一个额外的功能,我希望能够只计算在某些日期之间提交的条目的值。我有一个日期列已经在数据库中。
我在正确的轨道上吗?完全关闭?我可以使这个工作对于直接的MySQL查询没有问题,但不能用于PDO。
我试过这个,发生了什么,虽然不知道是什么。结果如下。 array(2){[“status”] => string(6)“Closed”[“COUNT(*)”] => string(2)“23”} array(2){[“status”] => string (4)“Open”[“COUNT(*)”] => string(1)“1”} array(2){[“status”] => string(7)“Pending”[“COUNT(*)” ] => string(1)“3”} array(2){[“status”] => string(7)“Removed”[“COUNT(*)”] => string(2)“10”} – user3384224
你的结果:)我更新了我的答案(在foreach中)以更好地格式化结果。我只是使用'var_dump()'将所有内容扔到屏幕上。 – BT643
我也更新了查询以包含有关日期的问题。认为会起作用。不知道你是否想要可变日期? – BT643