показать данные накопления MySQL в строке HTML без отдельного столбца в PHP

0

Как показать показатель подсчета числа 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
Теги:

1 ответ

0
Лучший ответ

Вы можете использовать тот факт, что $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.

  • 0
    спасибо, приятель, ты всегда мне помогал!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню