• 08-04-2020, 19:00:19
    #1
    Arkadaşlar sınırsız bir kategori tablosu oluşturdum içinde " id I kategori_adi I kategori_ustid "
    Pdo formatında çalıştırmayı denedim üst kategorileri alıyorum alt kategorileri olmuyor nasıl bir yol izlemeliyim?

    $cek = $baglanti->query("select * from kategori where kategori_ustid='0' and ",PDO::FETCH_ASSOC);
    if($cek->rowCount()){
        foreach($cek as $row){
            extract($row);
    echo"<div><input style='width:10%; float:left;' id='cek' class='form-control' type='checkbox' name='kategori_adi[]' value='$kategori_adi'><b style='float:left; margin-top: 10px;'>$kategori_adi - $id</b></div>";
        }
    }
  • 09-04-2020, 02:23:38
    #2
    Sorgunuda kategori_ustid='0' olarak belirtmişsiniz Bu 0 olanları yani en üstü seçer. Bunu silip hepsini çekin.

    Alt veya üst kategorileri if komutu ile ayırabilirsiniz.

    Veya

    Foreach'in içerisinde başka bir sorgu yazıp 1. forech ile gelenlerin altını çekin.
  • 09-04-2020, 03:33:15
    #3
    PHP veya hangi yazılım dili olursa olsun. Recursive Function denilen bir yapı var. Araştırmanızı tavsiye ederim.

    Özetle şu işe yarıyor;
    function category($id) {
           return array(
                 'id' => 'ID',
                  'name' => 'NAME',
                   'sub' => category($id)
            );
    }

    https://thisinterestsme.com/php-recursion-example/
  • 09-04-2020, 05:56:10
    #4
    fskgrup adlı üyeden alıntı: mesajı görüntüle
    PHP veya hangi yazılım dili olursa olsun. Recursive Function denilen bir yapı var. Araştırmanızı tavsiye ederim.

    Özetle şu işe yarıyor;
    function category($id) {
    return array(
    'id' => 'ID',
    'name' => 'NAME',
    'sub' => category($id)
    );
    }
    https://thisinterestsme.com/php-recursion-example/
    sayın hcm sizin söylediğiniz fonksiyonu araştırdım metinde 100 den fazla id olursa işinizi görmeyecektir diyor. Yaptığım kategori sistemi her üye tarafından ayrı ayrı oluşturulacak bu yüzden sanıyorum bu işimi görmeyecektir. Yapmaya çalıştığım modulü basitçe şu şekilde anlatabilirim.
    Örnek java
    kullandığım fonksiyon eklemeye çalışıyorum
    Sorry, you have been blocked

    You are unable to access r10.net

    yazı ile karşı karşıya kalıyorum?
  • 09-04-2020, 20:21:44
    #5
    https://www.youtube.com/watch?v=J0KRSbFCZ6Q
    Buradaki bir fonksiyon ile çalışırsanız daha iyi olur
  • 10-04-2020, 02:45:10
    #6
    Üyeliği durduruldu
    function UnlimitedCategoryList($category = "0")
    {
    $Category_Query = mysql_fetch_assoc("select * from category where category='$category' order by list asc");
    echo "<ul>";
    foreach ($Category_Query as $Category_Write) {
    echo "<li><a href=\"" . $Category_Write['seoname'] . "\">" . $Category_Write['name'] . "</a>";
    $Category_Up_Query = mysql_query("select * from category where category='" . $Category_Write['id'] . "' order by list asc");
    $Category_Up_Write = mysql_num_rows($Category_Up_Query);
    if ($Category_Up_Write > 0) {
    UnlimitedCategoryList($Category_Write['id']);
    }
    echo "</li>";
    }
    echo "</ul>";
    }
    kod fazlasıyla işinizi görecektir.
  • 10-04-2020, 18:19:30
    #7
    Bu fonksiyonuda kaydedeceğim. Sorunu çözdüm.
    ILKONBILISIM adlı üyeden alıntı: mesajı görüntüle
    function UnlimitedCategoryList($category = "0")
    {
    $Category_Query = mysql_fetch_assoc("select * from category where category='$category' order by list asc");
    echo "<ul>";
    foreach ($Category_Query as $Category_Write) {
    echo "<li><a href=\"" . $Category_Write['seoname'] . "\">" . $Category_Write['name'] . "</a>";
    $Category_Up_Query = mysql_query("select * from category where category='" . $Category_Write['id'] . "' order by list asc");
    $Category_Up_Write = mysql_num_rows($Category_Up_Query);
    if ($Category_Up_Write > 0) {
    UnlimitedCategoryList($Category_Write['id']);
    }
    echo "</li>";
    }
    echo "</ul>";
    }
    kod fazlasıyla işinizi görecektir.




    Şöyle bir adımla karşı karşıya kaldım. Kategori id leri Checkbox ile seçip bir tabloya yazdım.
    Örn: 1,6,8 gibi. Bu sayıları teker teker alıp kategori toblomdaki karşılıklarını yazdırmak istiyorum? Nasıl Bir yol izlemeliyim?