Я только недавно начал изучать программирование
Это очень похвально. Только ради бога, учите его по нормальным учебникам, а не по видеокурсам, которые делали неграмотные дети на мамкином ноутбуке.
Примеры говнокода
- unction selectAll1 - это глупость и говнокод. У функции должно быть осмысленное имя
- ($table1 , $table2 , $table3 , $table4 , $table5){ - это глупость и говнокод. Учитывая, что функция в любом случае уникальная для используемых таблиц, передавать их в качестве параметров имеет 0 смысла.
- global $pdo; - это глупость и говнокод. Потом сами не будете знать, что откуда взялось. Все параметры надо передавать в функцию явно.
- dbCheckError($query); - это глупость и говнокод. Специально проверять запрос на ошибки не нужно. Надо написать один общий обработчик ошибок для всего сайта и любых ошибок.
<?=$contacts['filial']?>
- это говнокод и дыра в безопасности. В любых данных, выводимых в HTML, должны экранироваться спецсимволы HTML
Поскольку вы используете PDO, то можете сразу получить трехмерный массив, сгруппированный по одному полю
function listContactsByDepartment ($pdo){
$sql = "SELECT
t3.department, -- обращаем внимание на эту строчку. Она должна быть первой
t1.id,
t1.full_name,
t1.email_user,
t1.tel_number,
t2.filial,
t3.department_email,
t4.position,
t5.number
FROM contact_work AS t1 INNER JOIN filial_work AS t2 ON t1. id_filial = t2.id
INNER JOIN department_work AS t3 ON t1. id_department = t3.id
INNER JOIN position AS t4 ON t1. id_position = t4.id
INNER JOIN number_work AS t5 ON t1. id_number = t5.id
ORDER BY `t2`.`filial` ASC , `t3`.`department` DESC ";
return $pdo->query($sql)->fetchAll(PDO::FETCH_GROUP); # Обращаем внимание на эту константу
}
$contacts = listContactsByDepartment ($pdo);
Из этой функции вы получите трехмерный массив, который выводится двумя вложенными циклами
<?php foreach($contacts as $department_title => $department_contacts): ?>
<tr>
<td colspan=10><?=htmlspecialchars($department_title) ?>
<tr>
<?php foreach($department_contacts as $row): ?>
<tr>
<td><?=htmlspecialchars($row['filial']) ?></td>
...
</tr>
<?php endforeach ?>
<?php endforeach ?>