Primero .. tendrías que realizar la consulta SQL apropiada para obtener tus registros ordenados por categoría:
Código PHP:
$sql="SELECT * FROM tabla ORDER BY categoria";
Y después sólo te faltará "tomar" un sólo resultado de categoría hasta que cambie de categoría a la hora de listar todos los artículos de esta categoría en curso.
Código PHP:
$categoria='';
while ($row=mysql_fetch_array($sql)
if ($row['categoria']!=$categoria){
$categoria=$row['categoria'];
echo $categoria."<br>";
}
}
echo $row['titulo']."<br>";
((c) idea original de Josemi xD)
Un saludo,