N-Düzey Tree PHP MYSQL YARDIM

3 Cevap php

Ben bir N-level tree class bakarak edilmiştir.

Herkes muhtemelen ben DIV'leri veya UL'lerini kullanmalısınız ben, yani sonuç kümesi döngü sonuçlarını görüntülemek verebilecek en iyi şekilde tavsiye misiniz?

Eğer okumak için yazı çok uzun bulursam bir örnek sonuç kümesi böylece gibi görünecek

Array ( [531] => stdClass Object ( [id] => 531 [rid] => 0 [created] => 1255384549 [nleft] => 1 [nright] => 8 [nlevel] => 1 ) [534] => stdClass Object ( [id] => 534 [rid] => 531 [created] => 1255384549 [nleft] => 2 [nright] => 3 [nlevel] => 2 ) [532] => stdClass Object ( [id] => 532 [rid] => 531 [created] => 1255384587 [nleft] => 4 [nright] => 7 [nlevel] => 2 ) [533] => stdClass Object ( [id] => 533 [rid] => 532 [created] => 1255384628 [nleft] => 5 [nright] => 6 [nlevel] => 3 ) )

Herhangi bir tavsiye apreciated

Teşekkürler

3 Cevap

Ben aradığım çözüm bulundu.

        function _generateTreeData(&$arr, $id, $level, &$n)
    {
        $arr[$id]->nlevel = $level;
        $arr[$id]->nleft = $n++;

        // loop over the node's children and process their data
        // before assigning the nright value
        foreach ($arr[$id]->children as $child_id) {
            $this->_generateTreeData($arr, $child_id, $level + 1, $n);
        }
        $arr[$id]->nright = $n++;
    }

Şimdi biçimlendirme üzerine

Kinda çıkışı ile yapmak gerekir ne bağlıdır. Ben şahsen ayıklanmamış listeleri veya tanım listeleri kullanabilirsiniz.

Ne yapmaya çalışıyorsun?

ULS ve Lis gibi çıktı o. Çıktı çok karmaşık ise, bunun üstüne bir JavaScript "Ağaç görünümü" bileşeni koyabilirsiniz - otomatik olarak bir ağaç görünümünde bir UL açabilirsiniz tercihen bir.