Sınırsız kategorileri listelemek
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(" ", $BoslukDegeri). $KategoriAdi . "</li>";
MenuYaz($KategoriID, $BoslukDegeri+10);
}
}
}
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>
Kategorileri menü içerisin de nasıl gösterebilirim.
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>";
}
}