$stmt = mysqli_query($connection, $sql);
if($stmt === false) {
die( print_r( mysqli_errors(), true) );
}
$category1 = 0;
$category2 = 0;
$category3 = 0;
$category4 = 0;
$category5 = 0;
$category6 = 0;
$category7 = 0;
$category8 = 0;
while($row = mysqli_fetch_array($stmt)) {
if(strcasecmp($row['fruit_name'], 'apple') == 0) {
$category1++;
}
if(strcasecmp($row['fruit_name'], 'banana') == 0) {
$category2++;
}
if(strcasecmp($row['fruit_name'], 'cherry') == 0) {
$category3++;
}
if(strcasecmp($row['fruit_name'], 'dragon fruit') == 0) {
$category4++;
}
if(strcasecmp($row['fruit_name'], 'eastern hawthorn') == 0) {
$category5++;
}
if(strcasecmp($row['fruit_name'], 'finger lime') == 0) {
$category6++;
}
$sum = $row['total_fruit'] + $sum;
$output .= '<tr>
<td>' . $row['fruit_name'] . '</td>
<td align=center>' .$row['total_fruit'] . '</td>
</tr>';
}
$output .= '<tr><td>$sum</td></tr></table>';
echo $output;
如何在同一类别的最后一行显示相同类别['fruit_name']的每个小计。我总共有6类水果。 如何在同一类别的最后一行显示每个相同类别['fruit_name']的小计。我总共有6类水果。
fruit_name | total_fruit
Apple | 1
Apple | 1
Apple | 1
Subtotal | 3
Banana | 1
Banana | 1
Banana | 1
Subtotal | 3
Total | 6
答案 0 :(得分:0)
您可以尝试使用此更改循环,但只有在例如所有苹果都是一个接一个的情况下它才会起作用:
$current = 0;
while($row = mysqli_fetch_array($stmt)) {
$last = false;
if(strcasecmp($row['fruit_name'], 'apple') == 0) {
$category1++;
if($current > 0 && $current != 1) {
$output .= '<tr>
<td>Subtotal</td>
<td align=center>' .$category{$current} . '</td>
</tr>';
$current = 1;
}
}
if(strcasecmp($row['fruit_name'], 'banana') == 0) {
$category2++;
if($current > 0 && $current != 2) {
$output .= '<tr>
<td>Subtotal</td>
<td align=center>' .$category{$current} . '</td>
</tr>';
$current = 2;
}
}
if(strcasecmp($row['fruit_name'], 'cherry') == 0) {
$category3++;
if($current > 0 && $current != 3) {
$output .= '<tr>
<td>Subtotal</td>
<td align=center>' .$category{$current} . '</td>
</tr>';
$current = 3;
}
}
if(strcasecmp($row['fruit_name'], 'dragon fruit') == 0) {
$category4++;
if($current > 0 && $current != 4) {
$output .= '<tr>
<td>Subtotal</td>
<td align=center>' .$category{$current} . '</td>
</tr>';
$current = 4;
}
}
if(strcasecmp($row['fruit_name'], 'eastern hawthorn') == 0) {
$category5++;
if($current > 0 && $current != 5) {
$output .= '<tr>
<td>Subtotal</td>
<td align=center>' .$category{$current} . '</td>
</tr>';
$current = 5;
}
}
if(strcasecmp($row['fruit_name'], 'finger lime') == 0) {
$category6++;
if($current > 0 && $current != 6) {
$output .= '<tr>
<td>Subtotal</td>
<td align=center>' .$category{$current} . '</td>
</tr>';
$current = 6;
}
}
$sum = $row['total_fruit'] + $sum;
$output .= '<tr>
<td>' . $row['fruit_name'] . '</td>
<td align=center>' .$row['total_fruit'] . '</td>
</tr>';
}
$output .= '<tr><td>$sum</td></tr></table>';
echo $output;