Si está seguro de que los resultados están ordenados por prioridad, entonces algo tan trivial como esto:
$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'];
}
En otras palabras, realiza un seguimiento del nivel de prioridad actual en el $priority
variable. Luego prueba si la prioridad ha cambiado en el if
condición. Si es así, echo
la prioridad y establezca la prioridad actual en la prioridad que se encuentra en la fila actual.
Eso sí, esto solo funciona como se esperaba (realmente agrupado una vez) si las filas están ordenadas por prioridad. En otras palabras, cuando las diferentes prioridades no están dispersas en el conjunto de resultados.