Я пытаюсь выяснить, как перечислять КАТЕГОРИИ КОМПАНИИ и БРЕНДЫ, где макет будет выглядеть примерно так:
КОМПАНИЯ 1
  КАТЕГОРИЯ 1: 
  BRAND X 
  БРЕНДИ 
  BRAND Z 
  КАТЕГОРИЯ 2 
  БРЕНД А 
  BRAND B 
  BRAND C 
  КАТЕГОРИЯ 3 
  БРЕНД А 
  BRAND X 
Я недостаточно разбираюсь в PHP + MySQL, чтобы найти правильный результат поиска и PHP для этого.
Моя таблица выглядит примерно так:
КОМПАНИЯ | КАТЕГОРИИ | BRAND -------------------------------- Компания 1 | Категория 2 | Бренд A Компания 1 | Категория 2 | Бренд B Компания 1 | Категория 2 | Бренд C Компания 1 | Категория 1 | Бренд X Компания 1 | Категория 1 | Бренди Компания 1 | Категория 1 | Бренд Z Компания 1 | Категория 3 | Бренд A Компания 1 | Категория 3 | Бренд X
<?php $result = mysql_query(" SELECT * FROM some_table ORDER BY company, category, brand ") or trigger_error('Query failed in '. __FILE__ . ' on line '. __LINE__ .'. '. mysql_error(), E_USER_ERROR); if (mysql_num_rows($result)) { $companies = array(); while ($row = mysql_fetch_assoc($result)) { $companies[$row['company']][$row['category']][] = $row['brand']; } foreach ($companies AS $company => $categories) { echo '<h2>'. htmlentities($company, ENT_COMPAT, 'UTF-8') .'</h2>'; echo '<ul>'; foreach ($categories AS $category => $brands) { echo '<li>'. htmlentities($category, ENT_COMPAT, 'UTF-8'); foreach ($brands AS $brand) { echo '<br><em>'. htmlentities($brand, ENT_COMPAT, 'UTF-8') .'</em>'; } echo '<br> </li>'; } echo '</ul>'; } } jsbin
Просто выберите все и поместите в хэш в php, что-то вроде строки
 $rs = mysql_query("Select * from myTable"); $results = array(); while($row = mysql_fetch_assoc($rs)) { $results[$row['COMPANY']][$row['CATEGORY']][] = $row['BRAND']; } 
  $results будет содержать структуру данных, например 
 array( 'Company 1' => array( 'Category 1' => array('Brand X', 'Brand Y') ... etc ) 
  попробуйте var_dump($results) чтобы сделать из этого больше смысла