Potrebuju vytvorit menu. Po kliknuti na kategorii v menu se zobrazi vsechny podkategorie, to same po kliknuti na podkategorii. Kdyz kliknu na podkategorii nejnizsi urovne, zobrazi se jeji obsah (seznam polozek).
Mam tabulku se strukturou:
CREATE TABLE kategorie (
        ident int not null primary key auto_increment,
        nazev varchar(40),
        uroven int,
        od int,
        do int
);
kde
nazev je jmeno kategorie,
uroven je uroven kategorie
  priklad:
  knihy (uroven1)
  -vedecke(uroven2)
  --matematika(uroven3)
Po kliknuti na matematika se tedy zobrazi vsechny knihy o matematice.
Kazda kniha ma svuj kod. Sloupce od, do oznacuji prave rozsah kodu pro danou kategorii.
Mate nekdo nejakej napad, jak na to menu? Staci princip nebo napad. Diky vsem.
                                 
                                 
                               
               
                              
                                 
                                      <HTML>IMHO treba:
CREATE TABLE kategorie (
ident int not null primary key auto_increment,
nazev varchar(40),
uroven int,
);
kde hodnota "uroven" 1 az 100 bude uroven 1
100 - 200 uroven 2
200 - 300 uroven 3 
....
je to jen napad narychlo reseni je plno a jiste i lepsi</HTML>
                                 
                                 
                               
               
                              
                                 
                                      <HTML>moc jsem to nepochopil, cet jsem to dvakrat a uz vickrat nechcu :)
ale to masterovo reseni je na prvni pohled skarede, nezlob se, nic osobniho :)
... mozna jsem to nepochopil, ale vypada to, jako by z toho navrhu db bylo omezeni max. 100 polozek v jedne kategorii</HTML>
                                 
                                 
                               
               
                              
                                 
                                      No ja jsem spis chtel princip kodu v PHP na tu moji puvodni tabulku jestli nejsem moc narocnej.
Zkusim se vyjadrit presneji:
CREATE TABLE kategorie (
	id int NOT NULL PRIMARY KEY auto_increment,
	zarazeni int NOT NULL,
	nazev varchar(50) NOT NULL,
);
INSERT INTO clanky VALUES (1, 0, 'Knihy');
INSERT INTO clanky VALUES (2, 0, 'Noviny');
INSERT INTO clanky VALUES (3, 1, 'vedecke');
INSERT INTO clanky VALUES (4, 1, 'pocitace');
INSERT INTO clanky VALUES (5, 3, 'matematika');
INSERT INTO clanky VALUES (6, 3, 'jaderne elektrarny');
INSERT INTO clanky VALUES (7, 3, 'rostliny');
INSERT INTO clanky VALUES (8, 4, 'PHP');
2.sloupec tedy ukazuje, pod kterou nadkategorii patri
vysledny strom by mel byti zhruba:
+ Knihy
-----+ vedecke
---------- matematika
---------- jaderne elektrarny
---------- rostliny
-----+ pocitace
---------- PHP
+ Noviny
Cele by to melo generovat dle ID v zaznamech z databaze a v php se mel
zobrazit tento strom.
Takze potrebuju nejaky kod v PHP kterym ziskam ono menu. Snad je to dostatecne srozumitelne.
                                 
                                 
                               
               
                              
                                 
                                      <HTML>ajo, ja to tusil ze nakonec dojdem k prochazeni stromove struktury :-)
ja bych to vycucnul z sql do nejakeho pomocneho pole (v kterem by byl jako ulozeny ten strom) a tam to uz muzes prochazet bud rekurzi nebo nejak pres zasobnik ... no ta rekurze je pekne intuitivni takze spis tak</HTML>
                                 
                                 
                               
               
                              
                                 
                                      neviem, ci je toto dobry napad, ale teraz ma to tak narychlo napadlo.
 
Keby sa vytvorila jedna tabulka pre kazdu uroven. Cez url by sa potom predavali parametre http://bestweb.xy/index.php?uroven1=knihy&uroven2=vedecke&uroven3=.... A podla tychto parametrov by sa robili selekty z db.
V dokumente by sa vygenerovalo menu:
<ul>
     <li>knihy</li>
           <ul>
                 <li>vedecke</li>
                       <ul>
                             <li>kniha 1</li>
                             <li>kniha 2</li>
                       </ul>
                 <li>pocitace</li>
           </ul>
</ul>
Generovanie menu treba este vyriesit.
Je to dost strapate riesenie, chcelo by to este ucesat :-), ale nejako takto by to mohlo fungovat.
                                 
                                 
                               
               
                              
                                 
                                      <HTML>to je dynamicky neprakticke....
to mira: kdyz jsem to psal uz jsem byl v lihu :)
takze jinak....
opet IMHO:
CREATE TABLE kategorie (
ident int not null primary key auto_increment,
uroven int,
naduroven int,
nazev varchar(40),
);
INSERT INTO clanky VALUES (1, 0, 0, 'Knihy');
INSERT INTO clanky VALUES (2, 0, 0, 'Noviny');
INSERT INTO clanky VALUES (3, 1, 1,  'vedecke');
INSERT INTO clanky VALUES (4, 1, 1, 'pocitace');
INSERT INTO clanky VALUES (5, 1, 1, 'matematika');
INSERT INTO clanky VALUES (6, 1, 1, 'jaderne elektrarny');
INSERT INTO clanky VALUES (7, 1, 1, 'rostliny');
INSERT INTO clanky VALUES (8, 1, 2, 'PHP');
odpovida:
+ Knihy
-----+ vedecke
---------- matematika
---------- jaderne elektrarny
---------- rostliny
-----+ pocitace
---------- PHP
+ Noviny
cili:
prvni sloupec je ID autoincrement
druhy je ozaceni urovne
treti je oznaceni pod ktere ID (z prvniho sloupce) to patri</HTML>