Autor Zpráva
Michal101
Profil *
Ahoj,
potreboval by jsem vytvorit stromovou strukturu s pomoci php, mysql. Napadlo me dat kazdemu potomku do jednoho zaznamu id rodice. Mam ale problem s vykreslenim struktury.

$GetElementsSQL=mysql_query(" SELECT * FROM prace_strom WHERE strom_rodic LIKE '$promenna' order by strom_typ ASC ");
    $GetElementsPocet=mysql_num_rows($GetTreeSQL);
    if ($GetElementsPocet != 0)
  
      {
        while ($GetElements = MySQL_Fetch_Array($GetElementsSQL))
          {
          $GetElementsID=$GetElements["strom_id"];
          $GetElementsNA=$GetElements["strom_nazev"];
          $GetElementsTY=$GetElements["strom_typ"];
          $GetElementsOB=$GetElements["strom_obsah"];
          
          switch ($GetElementsTY)
  
            {
  
              case "0":
              // adresar
              break;
              
              case "1":
             //clanek
              break;
              
              case "2":
              //anketa
              break;
              
              case "3":
              //odkaz
              break;
              
              default:
              echo "Nekde je chyba";
              break;
  
            }
          }
      }

tato funkce by mel vypsat prvni level, ale jakmile se budu chtit zanorit tim, ze pri nalezeni adresare zavolam tu fci zniva, tak mi to zobrazi jen vzdy prvni adresar na kazde urovni a nakonec v nejniszim bode clanky ...

jinak tabulka:
CREATE TABLE `prace_strom` (
  `strom_id` int(5) NOT NULL auto_increment,
  `strom_nazev` varchar(100) NOT NULL,
  `strom_typ` tinyint(1) NOT NULL,
  `strom_rodic` int(5) NOT NULL,
  `strom_obsah` text NOT NULL,
  `strom_about` text NOT NULL,
  UNIQUE KEY `strom_id` (`strom_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;


nevite nekdo jak to napsat, nebo o nejak lepsim reseni...
diky

Moderátor Alphard: Vkládej prosím kód mezi značky [pre] a [/pre] (stačí kliknout na ).
Alphard
Profil
Teorie různých metod
Praxe traverzování kolem stromu (doporučuji)
Michal101
Profil *
Odkaz
Ohledne traverzovani jsem nasel tento clanek. Ale zda se, ze to je jen obsleh z anglictiny. Bohuzel o php toho moc nevim a ten kod presahuje daleko moje znalosti. Nevite nekdo o funkcnim reseni ?
Alphard
Profil
Odkazované řešení od Jakuba Vrány je funkční a využívá efektivní metodu. Nemyslím si, že najdete něco lepšího, není tam již co doplnit, jsou to kompeltní části kódu.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: