За последние 24 часа нас посетили 47367 программистов и 3089 роботов. Сейчас ищут 1805 программистов ...

Как вывести в шапку таблицы результат запроса из таблицы-справочника?

Тема в разделе "PHP для новичков", создана пользователем Garett09, 11 ноя 2025.

Метки:
  1. Garett09

    Garett09 Новичок

    С нами с:
    23 дек 2024
    Сообщения:
    10
    Симпатии:
    0
    Доброго дня, коллеги! :) Сооружаю тут страничку - база внутренняя по учету техники. Нужно сделать красиво - подсчитать единицы оборудования по типу, то есть - Ноутбуки (100 шт), Мониторы (30 шт) и так далее. В базе (PostgreSql) есть таблица-справочник с типами оборудования, запрос я сделал, считает правильно:
    $result_type = pg_query($conn,"SELECT device_type_code,device_type from public.device_type");
    if (!$result_type) {
    echo "An error occurred.\n";
    exit;
    }

    while ($row_type = pg_fetch_row($result_type)) {
    $device_type_code=$row_type[0];
    $result_device = pg_query($conn,"select s_n,device_type_code from public.main where device_type_code=$device_type_code order by main.s_n"); //упорядочивание по серийнику
    if (!$result_device) {
    echo "An error occurred.\n";
    exit; }

    while ($row_device = pg_fetch_row($result_device)) { //идем по выборке
    $count_device=$count_device+1; //считаем единицы конкретного типа оборудования

    }
    $count=$count_device;
    $count_device=0;


    echo "<table class='styled-table'>
    <tbody>
    <tr>
    <td>$row_type[1]</td> //вывод типа оборудования
    <td>$count</td> //и количества единиц
    </tr>
    </tbody>
    </table>";
    }
    Но выводится вот так (файл index1.jpg). Я же хочу сделать из запроса к таблице public.device_type готовую шапку таблицы, а потом вывести в строку под соответствующими типами оборудования количество единиц (как на скрине index2.jpg). То есть сейчас я тупо вот так сформировал шапку:
    echo "<table class='styled-table'>
    <thead>
    <tr>
    <td>Ноутбук</td>
    <td>Монитор</td>
    <td>Смартфон</td>
    <td>Моноблок</td>
    </tr>
    </thead>
    </table>";
    А нужно имена забрать из запроса и вставить по горизонтали. Вот не пойму, как это сделать. Подскажите, пожалуйста :(
     

    Вложения:

    • index1.jpg
      index1.jpg
      Размер файла:
      62,4 КБ
      Просмотров:
      2
    • index2.jpg
      index2.jpg
      Размер файла:
      13,6 КБ
      Просмотров:
      3