我正在寻找一种方法来计算一个组中属于一个组的人数(示例中为groupe1)和特定时间(09:00) 实际上我的回声结果是:2000000000。(事实上我的桌子上有2个人符合2个条件)。如何只显示结果“2”(即添加值2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 ..)
谢谢
这是我的实际代码:
$r2=$my->query_array($sql2);
$counter=0;
$today=date('H:i',strtotime($row['heure']));
while ($row2=$r2->fetch_array()) {
if ($row2['groupe'] == 'groupe1' && $today == '09:00')
$counter++ ;
}
echo $counter;
更新:
while ($row=$r->fetch_array()) {
if ($row['type']=='test1') {
$sql2 = 'SELECT ... '; //( my request)
$r2=$my->query_array($sql2);
$counter=0;
$today=date('H:i',strtotime($row['heure']));
while ($row2=$r2->fetch_array()) {
if ($row2['libellee'] == 'groupe1' && $today == '09:00')
$counter++ ;
$t.= '<tr><td class="text">'.$txt_annule.' '.$row2['nom'].' '.$row2['prenom'].'</td>'.PHP_EOL;
$t.= '<td class="text">'.date('H:i',strtotime($row2['heure'])).'</td>'.PHP_EOL;
$t.= '<td class="text">'.$row2['libellee'].' </td>'.PHP_EOL;
$t.= '</tr>'.PHP_EOL;
}
echo $counter;
}
else if ($row['type']=='test2') {
$t.= '<tr><td class="text">'.$txt_annule.'   '.$row2['nom'].' '.$row2['prenom'].'</td>'.PHP_EOL;
$t.= '<td class="text">'.date('H:i',strtotime($row2['heure'])).'</td>'.PHP_EOL;
$t.= '<td class="text">'.$row2['libellee'].' </td>'.PHP_EOL;
$t.= '</tr>'.PHP_EOL;
}
}
答案 0 :(得分:0)
$counter = 0;
while ($row2=$r2->fetch_array()) {
if ($row2['groupe'] == 'groupe1' && $today == '09:00') {
$newCount = $counter+1;
$counter = $newCount;
}
}
echo $newCount;
答案 1 :(得分:0)
考虑使用纯SQL解决方案而不是获取所有记录和计数。随着数据库表的增长,它可能会导致性能问题 例如:
SELECT COUNT(*) FROM people WHERE groupe = 5 and TIME(heure) = '09:00'
此查询将返回确切的人数。