Huhu Franky
Du könntest z.B. eine temporäre Variable zum "merken" der vorherigen Kategorie verwenden.
Dann prüfst Du ob sich etwas verändert und nur dann gibts Du eine entsprechende Überschrift aus.
Ungefähr so
$CurrentCategory = false;
while ($row = mysql_fetch_assoc($r)){
if ($CurrentCategory != $row['cat']) {
$CurrentCategory = $row['cat'];
printf ('<h1>%s</h1>', $CurrentCategory);
}
// hier einzelnen Eintrag ausgeben
[...]
}
oder Du sammelst erstmal alle Einträge in einem Array
$stack = array();
while ($row = mysql_fetch_assoc($r)){
if (!isset($stack[$row['cat']])){
$stack[$row['cat']] = array();
}
$stack[$row['cat']][] = $row;
}
Und arbeitest das dann in einer weiteren Schleife ab
foreach ($stack as $k => $v){
// Kategorie
print $k;
// Schleife über alle Einträge
foreach ($v as $row){
// Daten ausgeben
print "irgendwie";
}
}
Viele Grüße
lulu
bythewaythewebsuxgoofflineandenjoytheday