Mi rispondo da solo: raggruppare gli array uno dentro l'altro non è difficile con questa tipologia di array associativi:
Codice PHP:
#SE ABBIAMO 3 NIDIFICAZIONI, QUESTA È L'ULTIMA
function render($record) {
$output = "<tr>\n";
$output .= "<td>{$record->colore}</td>\n";
$output .= "</tr>\n";
return $output;
}
$result = mysql_query("SELECT colore, taglia, tipologia_abbigliamento FROM vestiti WHERE tipo LIKE 'vestito' ORDER BY colore, taglia, tipologia_abbigliamento");
$set = array();
while ($colore = mysql_fetch_object($result)) {
$set[$colore->tipologia_abbigliamento][$colore->taglia][] = $record;
}
#ksort($set);
#CONTENITORE 1
foreach ($set as $tipologia => $tipologie) {
print "<h2>{$tipologia}</h2>\n";
#CONTENITORE 2
foreach ($tipologie as $taglia => $taglie) {
print "<table>\n";
print "<caption>{$taglia}</caption>\n";
print "<tr><th>Colori</th></tr>\n";
#CONTENITORE 3
foreach ($colore as $colori) {
print render($record);
}
print "</table>\n";
}
}
Questo è il modo migliore per visualizzare con una query i dati di una tabella raggruppati per n volte.