【发布时间】:2017-08-18 08:18:30
【问题描述】:
我很沮丧,我尝试了很多方法,但没有找到我的预期结果。我的表数据库中有这些数据:
| PartID | HasilProduksi |QtyProduksi|
|----------------------|------------------|-----------|
| BLAP-FG152-PF-KGX | Repair | 1 |
| AWDX-FG002-HN-KGX | Reject | 90 |
| HMXX-FG022-EG-KGX | Good | 100 |
| ECJX-FG018-AV-MCM | Good | 111 |
我想创建带有结果的报告:
| | ACTUAL |
| PartID | ---------------------|
| |Good | Repair | Reject|
|----------------------|-----|--------|-------|
| BLAP-FG152-PF-KGX | 0 | 1 | 0 |
| AWDX-FG002-HN-KGX | 0 | 0 | 90 |
| HMXX-FG022-EG-KGX | 100 | 0 | 0 |
| ECJX-FG018-AV-MCM | 111 | 0 | 0 |
我正在使用 switch case 方法,但结果与我的预期结果不同。这是我的代码:
$sqlc = "SELECT * FROM $db_dthp WHERE IdBukti='$id_bukti'";
$qc = mysqli_query($conn, $sqlc);
$c = 0; $good=0; $reject=0; $repair=0;
while ($rc = mysqli_fetch_assoc($qc)) {
switch ($rc['HasilProduksi']) {
case 'Good':
$good += (int) $rc['QtyProduksi'];
$datagood += (int) $rc['QtyProduksi'];
break;
case 'Reject':
$reject += (int) $rc['QtyProduksi'];
$datareject += (int) $rc['QtyProduksi'];
break;
case 'Repair':
$repair += (int) $rc['QtyProduksi'];
$datarepair += (int) $rc['QtyProduksi'];
break;
default:
break;
}
$c++;
}
$res['result'][$i]['data'][$b]['hp'][0]['good'] = number_format($good,0,'.','.');
$res['result'][$i]['data'][$b]['hp'][0]['reject'] = number_format($reject,0,'.','.');
$res['result'][$i]['data'][$b]['hp'][0]['repair'] = number_format($repair,0,'.','.');
你能帮帮我吗?
【问题讨论】:
标签: php mysql while-loop switch-statement