• 20-07-2013, 21:21:47
    #10
    Reveloper
    Quismo adlı üyeden alıntı: mesajı görüntüle
    Arkadaslar yardimci olup sql vermisya neyi yapamadin hatani veriyor

    Samsung Galaxy S3 tapatalk 2 ile gonderildi.
    Yazim yanlislari varsa affola.
    yok teşekkür ederim hallettim onu ama şu şekilde basıyor mantığa uymadı

    Örnek veriyorum bu kayıtta çıkan şu

    -ANA KATEGORİ 1
    --ALT KATEGORİ 1

    -ANA KATEGORİ 1
    --ALT KATEGORİ 2

    benim istediğim:

    - ANA KATEGORİ 1
    -- Alt Kategori 1
    -- Alt Kategori 2
    -- Alt Kategori 3

    - ANA KATEGORİ 2
    -- Alt Kategori a
    -- Alt Kategori b
    -- Alt Kategori c

    <?php 
    $get_category = mysql_query("SELECT categories_root.root_cat_name , categories.title FROM categories_root INNER JOIN categories ON categories.root_cat = categories_root.id"); 
    while ( $list_category = mysql_fetch_array($get_category) ){ // while 
    echo ' 
    Ana Kategori: '.$list_category["root_cat_name"].' </br>
    Alt Kategoriler: '.$list_category["title"].' </br></br>
    
    '; 
    } ?>
  • 20-07-2013, 22:06:15
    #11
    Burti adlı üyeden alıntı: mesajı görüntüle
    ben şunu istiyorumda yapamadım bi türlü

    -Ana KATEGORİ
    --Alt Kateogori
    --alt Kategori 2
    Sınırsız alt kategori yapabilmenin bana göre en mantıklı yolu şu şekildedir.

    Kategoriler :
    id | kategori | alt

    Sistem şu şekilde işler ana kategoriler alt sütununda 0 değerini alır eklenen alt kategoriler ise ilgili kategorinin id sini alt sütununa yazdırılır buna göre tablomuz şu şekilde biçimlenir

    kategoriler :
    id | kategori | alt
    1 | adı | 0
    2 | adı 2 | 1
    3 | adı 3 | 1
    4 | adı 4 | 1
    5 | adı 5 | 1
    6 | adı 6 | 2
  • 20-07-2013, 22:12:52
    #12
    Reveloper
    GOLDTR adlı üyeden alıntı: mesajı görüntüle
    Sınırsız alt kategori yapabilmenin bana göre en mantıklı yolu şu şekildedir.

    Kategoriler :
    id | kategori | alt

    Sistem şu şekilde işler ana kategoriler alt sütununda 0 değerini alır eklenen alt kategoriler ise ilgili kategorinin id sini alt sütununa yazdırılır buna göre tablomuz şu şekilde biçimlenir

    kategoriler :
    id | kategori | alt
    1 | adı | 0
    2 | adı 2 | 1
    3 | adı 3 | 1
    4 | adı 4 | 1
    5 | adı 5 | 1
    6 | adı 6 | 2
    hocam ben bunu ayrı simgelendirdim herşeyi yazıldı herşeyi bitti ancak sergilenirken benim dediğim sistemde sergilenmesi lazım hala düşünüyorum inner joinle nası yapılır diye
  • 20-07-2013, 22:22:44
    #13
    veritabanınızın kayıtlarını buraya resim olarak gönderip sonra listeleme yaptığınız php kodunu yazarsanız sorununuzu çözelim
  • 20-07-2013, 22:27:15
    #14
    Reveloper
    GOLDTR adlı üyeden alıntı: mesajı görüntüle
    veritabanınızın kayıtlarını buraya resim olarak gönderip sonra listeleme yaptığınız php kodunu yazarsanız sorununuzu çözelim


    <?php 
    $get_category = mysql_query("SELECT categories_root.root_cat_name , categories.title FROM categories_root INNER JOIN categories ON categories.root_cat = categories_root.id"); 
    while ( $list_category = mysql_fetch_array($get_category) ){ // while 
    echo '
    <ul>'.$list_category["root_cat_name"].'</ul>
    <li>'.$list_category["title"].'</li>
    '; 
    } ?>
  • 20-07-2013, 23:52:24
    #15
    Burti adlı üyeden alıntı: mesajı görüntüle


    <?php 
    $get_category = mysql_query("SELECT categories_root.root_cat_name , categories.title FROM categories_root INNER JOIN categories ON categories.root_cat = categories_root.id"); 
    while ( $list_category = mysql_fetch_array($get_category) ){ // while 
    echo '
    <ul>'.$list_category["root_cat_name"].'</ul>
    <li>'.$list_category["title"].'</li>
    '; 
    } ?>



    Aşağıdaki kodu kullanarak işlemi inner join ile yapabilirsiniz

    $get_category = mysql_query("SELECT categories_root.root_cat_name , categories.title FROM categories_root INNER JOIN categories ON categories.root_cat = categories_root.id"); 
    
    $isim = 'root_cat_name';  //categories_root tablosundaki root_cat_name alaninin ismi 
    $isimm = 'title'; // categories tablosundaki title alaninin ismi 
    
    while ($a = mysql_fetch_Array($get_category)) {
    	$index = $a[$isim];
    	$icerikler[$index][] = $a[$isimm];
    }
    
    echo '<ul>';
    
    foreach ($icerikler as $kat=>$icerik) {
        
        echo '<li><b>'.$kat.'</b></li>';
        
        foreach ($icerik as $ic) {
        echo '<li>--'.$ic.'</li>';
        }
        
    
    }
    
    echo '</ul>';
  • 21-07-2013, 00:05:51
    #16
    kategorileri bir fonksiyon içine alıp, alt kategorileri listeleyeceğin yere o fonksiyonu çağır. Bir firmaya yaptığım sistemden örnek ;

    <?php
    function peron_kategori($id = 0)
    								{
    										global $site_dil;
    										$sql = mysql_query("
    										SELECT kat_name_$site_dil as kat_name , peron_urun_kategori.* FROM 
    										peron_urun_kategori 
    										WHERE alt_kat_id = '$id'
    										ORDER BY kat_id ASC");
    										while($row=mysql_fetch_array($sql))
    										{
    											
    											if( is_array($row) && count($row) > 0 )
    											{
    													echo '<li>» <a href="'.BASE_URL.'kategori/'.$row['kat_id'].'/'.$row['kat_sef'].'.html">'.$row['kat_name'].'</a><ul>';
    													peron_kategori($row['kat_id'] );
    													echo '</ul></li>';
    											}
    											
    										}
    										
    								}
    								peron_kategori(0);
    ?>
  • 21-07-2013, 00:55:28
    #17
    Reveloper
    GOLDTR adlı üyeden alıntı: mesajı görüntüle
    Aşağıdaki kodu kullanarak işlemi inner join ile yapabilirsiniz

    $get_category = mysql_query("SELECT categories_root.root_cat_name , categories.title FROM categories_root INNER JOIN categories ON categories.root_cat = categories_root.id"); 
    
    $isim = 'root_cat_name';  //categories_root tablosundaki root_cat_name alaninin ismi 
    $isimm = 'title'; // categories tablosundaki title alaninin ismi 
    
    while ($a = mysql_fetch_Array($get_category)) {
    	$index = $a[$isim];
    	$icerikler[$index][] = $a[$isimm];
    }
    
    echo '<ul>';
    
    foreach ($icerikler as $kat=>$icerik) {
        
        echo '<li><b>'.$kat.'</b></li>';
        
        foreach ($icerik as $ic) {
        echo '<li>--'.$ic.'</li>';
        }
        
    
    }
    
    echo '</ul>';
    Eline koluna sağlık hakkını helal et. Çok saol.

    Can Özkan adlı üyeden alıntı: mesajı görüntüle
    kategorileri bir fonksiyon içine alıp, alt kategorileri listeleyeceğin yere o fonksiyonu çağır. Bir firmaya yaptığım sistemden örnek ;

    <?php
    function peron_kategori($id = 0)
    								{
    										global $site_dil;
    										$sql = mysql_query("
    										SELECT kat_name_$site_dil as kat_name , peron_urun_kategori.* FROM 
    										peron_urun_kategori 
    										WHERE alt_kat_id = '$id'
    										ORDER BY kat_id ASC");
    										while($row=mysql_fetch_array($sql))
    										{
    											
    											if( is_array($row) && count($row) > 0 )
    											{
    													echo '<li>» <a href="'.BASE_URL.'kategori/'.$row['kat_id'].'/'.$row['kat_sef'].'.html">'.$row['kat_name'].'</a><ul>';
    													peron_kategori($row['kat_id'] );
    													echo '</ul></li>';
    											}
    											
    										}
    										
    								}
    								peron_kategori(0);
    ?>
    arşive aldım işe yarar illaki kullanımı nası bunun