'x', 'part2' => '1', 'part3' => 'I'), array('part1' => 'x', 'part2' => '1', 'part3' => 'II'), array('part1' => 'x', 'part2' => '2', 'part3' => 'III'), array('part1' => 'x', 'part2' => '2', 'part3' => 'IV'), array('part1' => 'y', 'part2' => '3', 'part3' => 'V'), array('part1' => 'y', 'part2' => '3', 'part3' => 'VI'), array('part1' => 'y', 'part2' => '4', 'part3' => 'VII'), array('part1' => 'y', 'part2' => '4', 'part3' => 'VIII')); $lastpart1 = ''; $lastpart2 = ''; $lastpart3 = ''; foreach($data as $rec) { // get the parts $part1 = $rec['part1']; $part2 = $rec['part2']; $part3 = $rec['part3']; // do it if($part1 != $lastpart1) { if($lastpart1 != '') { echo "\r\n"; } echo "$part1:\r\n"; echo "\r\n"; $lastpart1 = $part1; } if($part2 != $lastpart2) { if($lastpart2 != '') { echo "\r\n"; } echo "\r\n"; echo "\r\n"; $lastpart2 = $part2; } echo "\r\n"; } echo "\r\n"; echo "
$part1$part3
\r\n"; ?>