CREATE TABLE categories (
id int(11) NOT NULL AUTO_INCREMENT,
parent_id int(11) DEFAULT NULL,
lft int(11) DEFAULT NULL,
rght int(11) DEFAULT NULL,
name varchar(45) NOT NULL,
PRIMARY KEY (id),
);
za cuvanje hierarhijske strukture podataka tzv "nested set".
sa sledecim podacima:
id parent_id lft rght name
-----------------------------------------
1 NULL 1 2 Item 1
2 NULL 3 24 Item 2
3 NULL 25 26 Item 3
4 NULL 27 28 Item 4
5 NULL 29 40 Item 5
6 NULL 41 42 Item 6
7 2 4 9 Item 7
8 2 10 11 Item 8
9 2 12 13 Item 9
10 2 14 21 Item 10
11 2 22 23 Item 11
12 5 30 31 Item 12
13 5 32 37 Item 13
14 5 38 39 Item 14
15 7 5 6 Item 15
16 7 7 8 Item 16
17 10 15 16 Item 17
18 10 17 18 Item 18
19 10 19 20 Item 19
20 13 33 34 Item 20
21 13 35 36 Item 21
Da li posotij algoritam da ove podatke prikaze u nesortirajucu listu (ul li) sa jednim citanjem podataka iz tabele i sa sto manje petlji (loops)?
Treba da se dobije ovakva forma:
<ul>
<li class="first">Item 1</li>
<li>Item 2
<ul>
<li>Item 7
<ul>
<li>Item 15</li>
<li>Item 16</li>
</ul>
</li>
<li>Item 8</li>
<li>Item 9</li>
<li>Item 10
<ul>
<li>Item 17</li>
<li>Item 18</li>
<li>Item 19</li>
</ul>
</li>
<li>Item 11</li>
</ul>
</li>
<li>Item 3</li>
<li>Item 4</li>
<li>Item 5
<ul>
<li>Item 12</li>
<li>Item 13
<ul>
<li>Item 20</li>
<li>Item 21</li>
</ul>
</li>
<li>Item 14</li>
</ul>
</li class="last">Item 6</li>
</ul>
tj da predstavljaju navigacioni meni na web starni.
Pozeljna je implementacija u PHP.