gpt4 book ai didi

php - 在 html 行中显示 mysql 汇总数据,而不在 php 中显示单独的列

转载 作者:行者123 更新时间:2023-11-29 17:15:33 27 4
gpt4 key购买 nike

一个分组完成后如何在下一行显示 mysql rollup 计数数字。

目前,以下代码段可以达到一定的预期。

$query1 = "SELECT COUNT(em.emp_name) as count_room, COALESCE (em.emp_code, 'tot') as emp_code, em.* FROM employee_master em where em.room_id = '$room_id' GROUP BY em.emp_name WITH ROLLUP ";

$retval1 = mysql_query($query1);
$num_row1 = mysql_num_rows($retval1);

if($num_row1 >=1) {
while($row1 = mysql_fetch_array($retval1, MYSQL_ASSOC)) {
$emp_code = $row1['emp_code'];
$emp_name = $row1['emp_name'];
echo "<tr>";
echo "<td>" . $emp_code . "</td>";
echo "<td>" . $emp_name . "</td>";
echo "<td>" . $row1['count_room'] . "</td>"; // do not want to create this column but show in a row colspan 5 once one group by ends.
echo "<td>" . $block_name1 . "</td>";
echo "<td>" . $floor_name1 . "</td>";
echo "<td>" . $room_no1 . "</td>";
echo "</tr>";
}
}

我应该在哪里放置 $row1['count_room'] ,以便不会创建额外的列,并在一组结束后在下一行中显示总 COUNT 。将会有多个组。

现在,数据如下所示。

emp_code  emp_name  room_count  block_name1  floor_name1    room_no1
1 name1 1 A G 1
2 name2 1 A G 1
3 name3 1 A G 1
TOT 3 A G 1
11 name11 1 A G 2
22 name22 1 A G 2
33 name33 1 A G 2
44 name44 1 A G 2
TOT 4 A G 2

但是,使用 php 所需的 html 输出应该如下所示。

emp_code  emp_name    block_name1  floor_name1    room_no1
1 name1 A G 1
2 name2 A G 1
3 name3 A G 1
TOT 3 A G 1
11 name11 A G 2
22 name22 A G 2
33 name32 A G 2
44 name44 A G 2
TOT 4 A G 2

最佳答案

您可以使用 $emp_code == 'TOT' 来更改 emp_name 列中的输出内容,即更改

    echo "<td>" . $emp_name . "</td>";
echo "<td>" . $row1['count_room'] . "</td>";

    echo "<td>" . ($emp_code == 'TOT' ? $row1['count_room'] : $emp_name) . "</td>";

您还需要删除为 room_count 列创建标题的代码。

关于php - 在 html 行中显示 mysql 汇总数据,而不在 php 中显示单独的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51653351/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com