All'interno del while metti un if che controlla se il menu è diverso dal precedente in questo caso lo scrive altrimenti scrive solo il link poi inposti oldmenu con il nuovo valore

codice:
 

while($riga=mysql_fetch_array($esegui)){

if($riga['menu']!=$oldmenu){
$menu .= $riga['menu'] ."
--". $riga['link'] ."
";
}else {
$menu .= "--".$riga['link'] ."
";
}

$oldmenu=$riga['menu'];
}
echo $menu;