v2.5.2
Giriş yap

Sınırsız kategorileri listelemek

mb
334 defa görüntülendi

Merhabalar
Sınırsız kategorim var ve bunları menü de listelemek istiyorum.
Normal listelerken sıkıntı olmuyor ama submenu yapmak istediğim de olmadı.

Kullandığım listeleme fonksiyonu


function MenuYaz($KategoriUstIDegeri=0, $BoslukDegeri=0){
    global $db;

    $KategoriSorgusu			=	$db->prepare("SELECT * FROM kategoriler WHERE kategori_ust_id = ?");
    $KategoriSorgusu->execute([$KategoriUstIDegeri]);
    $KategoriSorgusuSayi		=	$KategoriSorgusu->rowCount();
    $KategoriSorugusuKayitlari	=	$KategoriSorgusu->fetchAll(PDO::FETCH_ASSOC);

    f($KategoriSorgusuSayi>0){
        foreach($KategoriSorugusuKayitlari as $Kayitlar){
            $KategoriID			=	 $Kayitlar["kategori_id"];
            $KategoriUstID		=	 $Kayitlar["kategori_ust_id"];
            $KategoriAdi	    =	 $Kayitlar["kategori_adi"];
            $KategoriLink   	=	 $Kayitlar["kategori_link"];
            echo "<li>" . str_repeat("&nbsp;", $BoslukDegeri). $KategoriAdi . "</li>";
            MenuYaz($KategoriID, $BoslukDegeri+10);
        }
    }
}
PHP

Yapmak istediğim menu


   <ul>
                                    <li><a href="link.php"><span>BİLGİSAYAR <i class="fal fa-angle-down"></i></span></a>
                                        <ul class="submenu">
                                            <li><a href="link.php">ASUS</a></li>
                                            <li><a href="link.php">LENOVA</a></li>
                                            <li><a href="link.php">HP</a></li>
                                        </ul>
                                    </li>
                                    <li><a href="link.php"><span>ELEKTRONİK</span></a></li>
                                    <li><a href="link.php"><span>KIYAFET</span></a></li>
                                    <li><a href="link.php"><span>MUTFAK</span></a></li>

                                </ul>

HTML

Kategorileri menü içerisin de nasıl gösterebilirim.

Cevap yaz
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Cevaplar (3)
emmir2
762 gün önce
function MenuYaz($KategoriUstIDegeri = 0, $BoslukDegeri = 0){
    global $db;

    $KategoriSorgusu = $db->prepare("SELECT * FROM kategoriler WHERE kategori_ust_id = ?");
    $KategoriSorgusu->execute([$KategoriUstIDegeri]);
    $KategoriSorgusuSayi = $KategoriSorgusu->rowCount();
    $KategoriSorugusuKayitlari = $KategoriSorgusu->fetchAll(PDO::FETCH_ASSOC);

    if ($KategoriSorgusuSayi > 0) {
        echo "<ul>";
        foreach($KategoriSorugusuKayitlari as $Kayitlar) {
            $KategoriID = $Kayitlar["kategori_id"];
            $KategoriUstID = $Kayitlar["kategori_ust_id"];
            $KategoriAdi = $Kayitlar["kategori_adi"];
            $KategoriLink = $Kayitlar["kategori_link"];

            $SubKategoriSorgusu = $db->prepare("SELECT * FROM kategoriler WHERE kategori_ust_id = ?");
            $SubKategoriSorgusu->execute([$KategoriID]);
            $SubKategoriSorgusuSayi = $SubKategoriSorgusu->rowCount();
            $class = "";
            if ($SubKategoriSorgusuSayi > 0) {
                $class = " class='submenu'";
            }

            echo "<li><a href='$KategoriLink'><span>$KategoriAdi";
            if ($SubKategoriSorgusuSayi > 0) {
                echo " <i class='fal fa-angle-down'></i>";
            }
            echo "</span></a>";
            if ($SubKategoriSorgusuSayi > 0) {
                echo "<ul$class>";
                MenuYaz($KategoriID, $BoslukDegeri + 10);
                echo "</ul>";
            }
            echo "</li>";
        }
        echo "</ul>";
    }
}
PHP
mb
764 gün önce

Gönderdiğiniz kodu denedim fakat şöyle bir sıkıntı oluyor. İlk olarak <ul> ile başlatıyuruz. Daha sonra eğer alt kategorisi varsa
tekrar bir ul daha açıp class olarak "submenu" etikietini vermem gerekiyor. Şuan ki kodda sadece ul olarak ekliyor.


  <li><a href="link.php"><span>ANA MENÜ  <i class="fal fa-angle-down"></i></span></a>
        <ul class="submenu">
            <li><a href="link.php">ALT MENÜ 1</a></li>
            <li><a href="link.php">ALT MENÜ 2 </a></li>
            <li><a href="link.php">ALT MENÜ 3</a></li>
        </ul>
    </li>
   <li><a href="link2.php"><span>DİĞER ANA MENÜ</span></a></li>
   <li><a href="link3.php"><span>DİĞER ANA MENÜ 3</span></a></li>

HTML
 
  if ($SubKategoriSorgusuSayi > 0) {
                echo "<li><a href='$KategoriLink'><span>$KategoriAdi <i class='fal fa-angle-down'></i></span></a>";
                MenuYaz($KategoriID, $BoslukDegeri+10);
                echo "</li>";
            }

PHP

Buraki kisim da ul classını eklediğimde bu sefer iç içe ul yapıyor ve bu sefer de menü bozuluyor.

emmir2
765 gün önce
function MenuYaz($KategoriUstIDegeri=0, $BoslukDegeri=0){
    global $db;

    $KategoriSorgusu = $db->prepare("SELECT * FROM kategoriler WHERE kategori_ust_id = ?");
    $KategoriSorgusu->execute([$KategoriUstIDegeri]);
    $KategoriSorgusuSayi = $KategoriSorgusu->rowCount();
    $KategoriSorugusuKayitlari = $KategoriSorgusu->fetchAll(PDO::FETCH_ASSOC);

    if ($KategoriSorgusuSayi > 0) {
        echo "<ul>";
        foreach($KategoriSorugusuKayitlari as $Kayitlar) {
            $KategoriID = $Kayitlar["kategori_id"];
            $KategoriUstID = $Kayitlar["kategori_ust_id"];
            $KategoriAdi = $Kayitlar["kategori_adi"];
            $KategoriLink = $Kayitlar["kategori_link"];

            $SubKategoriSorgusu = $db->prepare("SELECT * FROM kategoriler WHERE kategori_ust_id = ?");
            $SubKategoriSorgusu->execute([$KategoriID]);
            $SubKategoriSorgusuSayi = $SubKategoriSorgusu->rowCount();

            if ($SubKategoriSorgusuSayi > 0) {
                echo "<li><a href='$KategoriLink'><span>$KategoriAdi <i class='fal fa-angle-down'></i></span></a>";
                MenuYaz($KategoriID, $BoslukDegeri+10);
                echo "</li>";
            } else {
                echo "<li><a href='$KategoriLink'><span>$KategoriAdi</span></a></li>";
            }
        }
        echo "</ul>";
    }
}
PHP