• 22-09-2008, 22:41:54
    #1
    ekran cıktısı bu :http://www.forumtutkunu.com/makale/a...ri.php?katid=1


    normal 2 adet katagorim var , 1. katagorımın altındaki veriler , 2.katagorının altındada yazıyor cozemedım sorunu

    (ana katagorileride yazdırıyorum cunku hangi katagorinin alt katagorisi oldukları belli olsun)


    <?  
        include("baglan.php");
        $katagoriler=mysql_query("select * from katagoriyarat");
        
        while($katagorigoster=mysql_fetch_array($katagoriler))
        {
        $topkat=mysql_num_rows($katagoriler);
        $id=$katagorigoster[id];
        $katagoriadi=$katagorigoster[katagoriadi];
        ?>
        <a href=altkatagori.php?katid=<?=$id?>><img src="resimler/ok.gif" border=0 /><?=$katagoriadi?></a> <br>
        
      
        
        
        <? 
           
       
        include("baglan.php");
        $katid=$_GET[katid];
        $altkatagoriler=mysql_query("select * from altkatagori where katagoriid='$katid' ");
        while($katagorigoster=mysql_fetch_array($altkatagoriler))
        {
        $id=$katagorigoster[id];
        $altkatagoriadi=$katagorigoster[altkatagoriadi];
        ?>
        &nbsp;&nbsp;<a href=altkatagori.php?altkatid=<?=$id?>><img src="resimler/altok.gif" border=0 /><?=$altkatagoriadi?></a> <br>
        
       <? }
               
        
       ?>
        <? } ?>
  • 22-09-2008, 23:08:22
    #2
    İki defa yazar çünkü ikinci while döngünde GET ile id alıp işlem yapıyosun, oysa $katid=$_GET[katid]; kısmını $katid=$id; demen lazım .. Ayırca kodların çok düzensiz .. $topkat=mysql_num_rows($katagoriler); kodunu ilk while'ın üstüne yaz, döngü her dönüşünde çalışmasın .. Neden iki tane baglan.php include ettiğini anlamadım ..
  • 22-09-2008, 23:18:28
    #3
    şimdi de mesela 1.katagori linkine tıklasamda 2. katagori linkine tıklasamda tüm altkatagoriler gozukuyor ben sadece tıklananın acılmasını ıstıyorum
  • 23-09-2008, 00:14:15
    #4
    Üyeliği durduruldu
    veritabanında tek tablo oluştur. (kategori)
    katid, katismi, ustkatid
    1 , dasd , 0
    2 , gsfsdf , 0
    3 , hnfg , 1 gibi..
    ör:
     $query = 'SELECT a.katismi,a.katid,a.ustkatid,b.katismi AS ustkat FROM kategori a,kategori b WHERE a.ustkatid=b.katid';
    $res = mysql_query($query);
    while($row = mysql_fetch_assoc($res)):
    $array[$row['ustkatid']][$row['ustkat']][$row['katid']]=$row['katismi'];
    endwhile;
    
    foreach($array as $ustkatid=>$array2):
      foreach($array2 as $katismi=>$array3):
    // buraya ana kategori linki $ustkatid => kategori id , $katismi => kategori adı
    # senin istediğin yer
     if($_GET['asdas']==$ustkatid):
      foreach($array3 as $altkatid=>$altkatismi):
       // buraya alt kategori linki $altkatid=> alt kategori id , $altkatismi=> alt kategori adı
      endforeach; endif;
    
      endforeach;
    endforeach;
    denemedim hata verir büyük ihtimal
    kolay gelsin
  • 23-09-2008, 08:10:12
    #5
    birisi benim kodlarım üzerinde duzenleme yaparak calıstırırsa sevınırım ,sveatcell ilgin için sağol, benım kodlarımda yapılırsa bu uygulama bana gore onu kullanacağım yardımınızı halan beklıyorum, sorunum şu : basılan katagorinin alt katagorisi açılsın bende basılmayanınkide acılıyor
  • 23-09-2008, 08:30:35
    #6
    küçük bir hatırlatma ;

    Katagori değil, "Kategori" olması gerekiyor