Как сгруппировать дублирующиеся значения массива и настроить отображение результатов массива в html таблице? - PullRequest
1 голос
/ 23 мая 2019

У меня здесь цикл for, $ limit - это число года (это основано на результате базы данных sql). В этом случае предел $ равен 3, количество крышек равно 3 (1, 2, 3). Затем использовали другой запрос, чтобы получить все значения трех крышек, чтобы было 8 строк. В 8 строках всего 5 уникальных идентификаторов классов, мне нужно сгруппировать дубликат индекса идентификатора класса.

Я уже пробовал array_unique, чтобы отобразить только 5 результатов. Но мне все еще нужны значения других 3 результатов, чтобы иметь возможность отображать его в столбцах p2 и p3, но в одной строке, если они имеют одинаковый идентификатор класса

<?php
   for($iy=1; $iy&lt;=$limit; $iy++){   
     $sql="SELECT * FROM view_items WHERE pyear='$iy'"
     $query = $this->db->prepare($sql);
     $query->execute();
     $res=$query->fetch();  
     $lids = $res->lid;
     $sql_arr.="SELECT * FROM view_items WHERE lid='$lids'"; 
     if($iy!=$limit) $sqlarr .= " UNION "; 
     $new_arr[] = $sql_arr; 
   }
   $sql = implode("",$new_arr);
   $query = $this->db->prepare($sql);
   $query->execute();
   $result = $query->fetchAll();

   foreach($result as $row):    
    $q1 = ($row->month1) + ($row->month2) + ($row->month3);
    $q2 = ($row->month4) + ($row->month5) + ($row->month6); 
    $total = $q1 + $q2;
?>
   <tr>
    <td><?php echo $row->item_class; ?></td>
    <td><?php echo $q1; ?></td>
    <td><?php echo $q2; ?></td>
    <td><?php echo $total; ?></td>
   <tr>
<?php 
  endforeach; 
?>

Вместо отображения 8 результатов, он должен отображать только 5 строк. Тогда значения дубликатов должны быть в правом столбце на основе их числа. Это немного сложно объяснить в форме абзаца, может быть, пример выходных данных объяснит лучше.

Фактическая выработка

Actual Output (Wrong)

Ожидаемый результат

Expected Output

ЗАКЛЮЧИТЕЛЬНЫЙ: Использовал SQL-запрос вместо настройки отображения массива. Ответьте на оба моих вопроса (НО ВОПРОС НЕ ДУБЛИКАТ), но все еще открыт для любых предложений относительно массива, так как я не эксперт в этом. Как отдельно отобразить результат group_concat в ячейке html-таблицы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...