Как показать показатель подсчета числа mysql в следующей строке после завершения одной группы.
В настоящее время следующий фрагмент кода работает до некоторого ожидания.
$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
Однако желаемый вывод в html с использованием php должен выглядеть следующим образом.
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
столбце emp_name
т. 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
.