Группировка записей из цикла while | PHP

Я пытаюсь сгруппировать записи по их уровням приоритета, например

— Приоритет: Высокий —

Записи …

— Приоритет: Средний —

Записи …

— Приоритет: Низкий —

Записи …

Что-то вроде этого, как мне это сделать на PHP? Цикл заказов while обрабатывает столбец приоритета, который имеет значение int (high = 3, medium = 2, low = 1). например, WHERE priority = '1'

Метка: «Приоритет: [уровень приоритета]» должен быть установлен над сгруппированными записями относительно их уровня

РЕДАКТИРОВАТЬ:

<?php while($row = mysql_fetch_array($result)) { echo '<h1>Priority Level: ' . $row['priority'] . '</h1>'; echo $row['name']; } ?> 

Подобно этому фрагменту кода –

теги – это метка, которая разделяет записи относительно их уровня приоритета.

Если вы уверены, что результаты упорядочены по приоритету, то что-то такое тривиальное:

 $priority = null; while($row = mysql_fetch_array($result)) { if( $row['priority'] != $priority ) { echo '<h1>Priority Level: ' . $row['priority'] . '</h1>'; $priority = $row['priority']; } echo $row['name']; } 

Другими словами, вы отслеживаете текущий уровень $priority переменной $priority . Затем проверьте, изменился ли приоритет в if . Если это так, echo приоритет и установите текущий приоритет на приоритет, найденный в текущей строке.

Имейте в виду, что это работает только как ожидалось (по-настоящему сгруппировано один раз), если строки упорядочены по приоритету. Другими словами, когда разные приоритеты не разбросаны по набору результатов.

Если вы используете mysql, почему бы вам не использовать возможности упорядочения БД?

 SELECT * FROM items ORDER BY priority DESC