Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – PHP: Prezentácia stromovej štruktúry z databázy

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
Kit
Tvůrce
Avatar
Odpovedá na martinkobelka
Kit:26.8.2012 14:07

Prostě vyber všechny záznamy z dané skupiny (nazval jsem ji gid). Pak je musíš poskládat do stromu. Jde to jednoduchým cyklem.

Tím, že každý uzel stromu mám jako objekt, můžu mít na každý z nich 2 reference: Jednu v poli a druhou ve vytvářeném stromu.

Odpovedať
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
martinkobelka
Tvůrce
Avatar
martinkobelka:26.8.2012 14:15

Tak už se mi to povedlo. Je to sice spatlanina a ne kod, ale funguje to, a to je p ro mě hlavní.

$dotaz = mysql_query("select * from vzkazy");
$pole = array();
while($vypis = mysql_fetch_array($dotaz)){
    $pole[] = $vypis;
}
$vysledek = array();
function podmenu($id, $pole){
    foreach($pole as $vypis){
        if($vypis['rodic'] == $id){
            if(!isset($podmenu)){
                $podmenu = array();
            }
            $podmenu[] = $vypis['obsah'];
            if(is_array($dopsat = podmenu($vypis['id'], $pole))){
                $podmenu[] = $dopsat;
            }
        }
    }
    if(isset($podmenu)){
        return $podmenu;
    }
}
foreach($pole as $vypis){
    if($vypis['rodic'] == 0){
        $vysledek[] = $vypis['obsah'];
        if(is_array($dopsat = podmenu($vypis['id'], $pole))){
            $vysledek[] = $dopsat;
        }

    }
}
function vypis($seznam){
    echo "<ul>\n";
    foreach($seznam as $vypis){
        if(is_array($vypis)){
            vypis($vypis);
        }
        else{
            echo "<li>$vypis</li>\n";
        }
    }
    echo "</ul>\n";
}
vypis($vysledek);

a databáze:
vzkazy(id int, rodic int, obsah text)

Avatar
martinkobelka
Tvůrce
Avatar
martinkobelka:27.8.2012 12:30

Nemůžeš udělat živou ukázku z tohoto článku a dát sem odkaz?

Avatar
Kit
Tvůrce
Avatar
Odpovedá na martinkobelka
Kit:27.8.2012 12:36

Můžu, ale nevím, jestli to bude ještě dnes.

Odpovedať
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 4 správy z 14.