Używam pojedynczego żądania, które zwraca nazwę kategorii dla każdego elementu i używam PHP do jej wyświetlenia
<?php
$cat;
while($result = $statement->fetch()) {
if($result['cat'] !== $cat) {
$cat = $result['cat'];
/* display cat */
}
/* display items */
}
?>