Hallo Compu!
Ich weiß zwar nicht, was Du da tust - aber bei jedem mysql_fetch_array wird eine neue Datensatzzeile eingelesen. Nachdem Du diese Funktion zwei mal verwendest, fehlt dir wahrscheinlich in der <ul>-Liste der erste Datensatz:
$row=mysql_fetch_array($result); /* Erster wird ausgegeben */
echo "<h2>".$row[$kategorie]."</h2>";
...
echo "<ul>";
while($row = @mysql_fetch_array($result)) /* und jetzt die anderen */
{
echo "..."»» }
echo "</ul>";
Ich glaube, Du solltest den Code nochmal überarbeiten ;-)
mfg
norbert =:-)