Burdaki fonksiyonu kendi kullandığım bir fonksiyonla harmanlayıp şöyle bişey yapmıştım. @CeRBeR burdan kopya çekebilirsin
function display2_children($KatNo, $UstKatNo, $s) {
global $Katlar;
$result = mysql_query("SELECT * FROM haber_kat WHERE ust_sayfa_be='".$KatNo."' ORDER BY sira ASC;");
$q2=mysql_query("SELECT * FROM haber_kat WHERE sayfa_be = '$_GET[be]' LIMIT 1"); // BURADA SAYFANIN GERÇEK ÜST KATEGORİSİNİN NE OLDUĞUNU BULUYORUM
$a2=mysql_fetch_array($q2);
while ($a1 = mysql_fetch_array($result)){
$a1[baslik]=stripslashes($a1[baslik]);
if($s=='0'){$kaydir2="-"; $css="class='alt'";}
else{ for($a=0;$a<2*$s;$a++){$kaydir.=" ";}$kaydir2="$kaydir »";}
if($a2[ust_sayfa_be] == $a1[sayfa_be]){ // VE BURADA BULDUĞUM DEĞERE GÖRE SELECTED VEYA NORMAL YAPIYORUM
$Katlar .= "<option $css value=\"$a1[sayfa_be]\" selected>$kaydir2$a1[baslik]</option>";
}
else{
$Katlar .= "<option $css value=\"$a1[sayfa_be]\">$kaydir2$a1[baslik]</option>";
}
unset($kaydir);
$altkategorivarmi=mysql_num_rows(mysql_query("select sayfa_be from haber_kat where ust_sayfa_be='".$a1["sayfa_be"]."'"));
if($altkategorivarmi>0){global $i; $i++; display2_children("".$a1["sayfa_be"]."",$UstKatNo,"$i"); $i=$i-1;}
}
}
display2_children(0,0,0);// KatNo, UstKatID