Есть определенный код: PHP: <?php $group=''; $next=0; if(empty($links[0]['group'])) {?> <div class="container-unit"> <div class="title">Метки: </div> <div class="subcategories"> <?php } foreach($links as $link){ $next++; if($group !== $link['group']) { if($next>1) { ?> </div> <div class="button"> <a href="#" data-behaviour="toggle-tag-cloud" class="toggle item_link"></a> </div> </div> <?php } ?> <div class="container-unit"> <div class="title"> <?= $link['group']?>:</div> <div class="subcategories"> <?php $group = $link['group']; } ?> <a class="tag" data-linkid="<?= $link['link_id'] ?>" href="<?= $link['link'] ?>"><?= $link['anchor'] ?></a> <?php if($next == count($links)) { ?> </div> <div class="button"> <a href="#" data-behaviour="toggle-tag-cloud" class="toggle item_link"></a> </div> </div> <?php } } ?> На выходе получается такое: HTML: <div class="container-unit"> <div class="title">Группа 1</div> <div class="subcategories"> <a class="tag" data-linkid="666" href="link1">тег1</a> <a class="tag" data-linkid="667" href="link2">тег2</a> <a class="tag" data-linkid="668" href="link3">тег3</a> </div> <div class="button"> <a href="#" data-behaviour="toggle-tag-cloud" class="toggle item_link"></a> </div> </div> <div class="container-unit"> <div class="title">Группа 2</div> <div class="subcategories"> <a class="tag" data-linkid="669" href="link4">тег4</a> <a class="tag" data-linkid="670" href="link5">тег5</a> <a class="tag" data-linkid="671" href="link6">тег6</a> </div> <div class="button"> <a href="#" data-behaviour="toggle-tag-cloud" class="toggle item_link"></a> </div> </div> <div class="container-unit"> <div class="title">Группа 3</div> <div class="subcategories"> <a class="tag" data-linkid="672" href="link7">тег7</a> <a class="tag" data-linkid="673" href="link8">тег8</a> <a class="tag" data-linkid="674" href="link9">тег9</a> </div> <div class="button"> <a href="#" data-behaviour="toggle-tag-cloud" class="toggle item_link"></a> </div> </div> Можно ли как-то преобразовать код PHP? чтобы на выходе было что-то такое? HTML: <ul class="nav nav-tabs"> <li class="active"><a data-toggle="tab" href="#panel1">группа 1</a></li> <li><a data-toggle="tab" href="#panel2">группа 2</a></li> <li><a data-toggle="tab" href="#panel3">группа 3</a></li> </ul> <div class="tab-content"> <div id="panel1" class="tab-pane fade in active"> <div class="subcategories"> <a class="tag" data-linkid="666" href="link1">тег1</a> <a class="tag" data-linkid="667" href="link2">тег2</a> <a class="tag" data-linkid="668" href="link3">тег3</a> </div> </div> <div id="panel2" class="tab-pane fade"> <div class="subcategories"> <a class="tag" data-linkid="669" href="link4">тег4</a> <a class="tag" data-linkid="670" href="link5">тег5</a> <a class="tag" data-linkid="671" href="link6">тег6</a> </div> </div> <div id="panel3" class="tab-pane fade"> <div class="subcategories"> <a class="tag" data-linkid="672" href="link4">тег7</a> <a class="tag" data-linkid="673" href="link5">тег8</a> <a class="tag" data-linkid="674" href="link6">тег9</a> </div> </div> </div> Структура таблицы БД такая.
@greenzlat можно, могу объяснить в общих чертах, буквально "делать за тебя" не буду. Если ты не в курсе, это позорный раздел Сейчас: есть массив $links, упорядоченный по элементу 'group', и в цикле на каждое изменение значения group срабатывает вывод подзаголовка. Надо: получить значения групп и использовать их для формирования табов, а затем по этим же группам перебирать/фильтровать отдельные элементы. В ларавелевских коллекциях есть подходящий метод groupBy(), но во встроенных функциях для массивов такого нет вроде бы. Но легко нагуглить: https://github.com/jakezatecky/array_group_by/blob/master/src/array_group_by.php PHP: $groupped = array_group_by($links, 'group'); foreach (array_keys($groupped) as $group) { ... } // tab captions foreach ($groupped as $group => $items) { foreach ($items as $item) { // tab content ... } }