можете да групирате вече в базата данни или да сортирате по секция и след това да преминете през и да изведете правилния код за разделяне, когато секцията се промени. временен масив също е решение. предвид вашия примерен код, може би това може да ви насочи към един възможен directino (въпреки че временният масив, разбира се, не е елегантно решение, но ако данните не са толкова много, това наистина няма значение)
<?
$result = array();
$result[] = array('section' => 'php','note' => 'bla');
$result[] = array('section' => 'php','note' => 'bla');
$result[] = array('section' => 'perl','note' => 'bla');
$result[] = array('section' => 'java','note' => 'bla');
$grouped = array();
for($i=0;$i<count($result);$i++) {
$grouped[$result[$i]['section']][] = $result[$i]['note'];
}
print_r($grouped);
?>