v2.5.2
Giriş yap

Kategorileri başlık olacak şekilde listeleme mantığı

emregemici
225 defa görüntülendi

örneğin, bir veritabanım var:

tablo adı: category

id 1 value PHP
id 2 value CSS
id 3 value HTML

olsun.

dersler diye ayrı bir tablom var o da
tablo adı: lessons

id 1 value Diziler category 1
id 2 value Fonksiyonlar category 1
id 3 value Formlar category 3
id 4 value Sıfırlama category 4

olsun

LEFT JOIN veya INNER JOIN kullanarak verileri çekiyorum.
ancak;

PHP
    Diziler
    Fonskiyonlar
CSS
    Sıfırlama
HTML
    Formlar

şeklinde çekmek istiyorumç. Kategorileri çekeyim. altında hangi kategoriye ait dersler varsa onlar gelsin. recursive dışı bi şekilde yapılıyodu mantığını kuramadım.

database
307 gün önce

Yani bunun en sağlıklı hali recursive gibi görünüyor ama.

$db = new PDO(...);

function menu($parent_id = 0) {
    global $db;
    $menuler = $db->query("SELECT id, baslik FROM menuler WHERE parent_id = $parent_id")->fetchAll(PDO::FETCH_ASSOC);
    foreach($menuler as $menu):
    ?>
        <div>
            <?= $menu['baslik'] ?>
            <div><?= menu($menu['id']) ?></div>
        </div>
    <?php
    endforeach;
}

<div>
    Menu
    <?= menu() ?>
</div>

gibi.