¿De qué cantidad de categorías /links estamos hablando? Puedes probar a hacerlo en una sóla consulta y controlar los resultados para armar el menú. Con esto, además, te ahorras unos cuantos accesos a la base de datos...
Código PHP:
$categoria = "sin_definir_todavia";
$cerrar_anterior = "";
$c = mysql_query("SELECT link_cat_nombre, link_nombre, link_url FROM links_cat, links WHERE link_cat_id = link_cat ORDER BY link_cat_nombre, link_nombre");
while ($cat = mysql_fetch_array($c)) {
$nombre_cat_actual = $cat['link_cat_nombre'];
$nombre_link_actual = $cat['link_nombre'];
if ($categoria != $nombre_cat_actual) {
echo $cerrar_anterior;
echo "<ul>";
echo "$cat[link_cat_nombre]";
$cerrar_anterior = "</ul>\r";
$categoria = $nombre_cat_actual;
}
echo "<li>$nombre_link_actual</li>\r";
}
echo $cerrar_anterior;
}