Здравствуйте. Встала необходимость сделать "красивые" категории. Т.е имеем в базе записи:
яблоко, банан, баклажан, арбуз, апельсин
Если я выберу их в лоб через SELECT * я получу ассоциативный массив:
$data = [
['id' => '1', 'name' => 'яблоко'],
['id' => '2', 'name' => 'банан'],
['id' => '3', 'name' => 'баклажан'],
['id' => '4', 'name' => 'арбуз'],
['id' => '5', 'name' => 'апельсин'],
];
А могу ли я группировать данные так чтобы получилось:
$data = [
[
['id' => '4', 'name' => 'арбуз'],
['id' => '5', 'name' => 'апельсин'],
],
[
['id' => '2', 'name' => 'банан'],
['id' => '3', 'name' => 'баклажан']
],
[
['id' => '1', 'name' => 'яблоко'],
]
];
Или это делается не на стороне sql запроса? У меня просто имеется верстка следующей структуры, и по этому шаблону нужно генерировать:
<div class="letter_brand_block">
<div class="brand">
<div class="letter_block">
<a class="letter" href="#">A</a>
</div>
<a href="#" class="brand_name_block">Acura</a>
</div>
<div class="brand">
<a href="#" class="brand_name_block">Alfa Romeo</a>
</div>
<div class="brand">
<a href="#" class="brand_name_block">Alfa Romeo</a>
</div>
</div>
<div class="letter_brand_block">
<div class="brand">
<div class="letter_block">
<a class="letter" href="#">A</a>
</div>
<a href="#" class="brand_name_block">Acura</a>
</div>
<div class="brand">
<a href="#" class="brand_name_block">Alfa Romeo</a>
</div>
<div class="brand">
<a href="#" class="brand_name_block">Alfa Romeo</a>
</div>
<div class="brand">
<a href="#" class="brand_name_block">Alfa Romeo</a>
</div>
<div class="brand">
<a href="#" class="brand_name_block">Alfa Romeo</a>
</div>
</div>
Более года назад я с такой же задачей сталкивался, но я ничего умнее не смог придумать кроме как на каждую букву делать запрос в базу.. И того было 33 запроса в базу данных на поиск данных, но это жуткий костыль.
Спасибо.