Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: horalhoralhora 17. 03. 2020, 18:44:55
-
Pro navigaci na strankach bych rad pouzil model uvedeny na (http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql (http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql))
vysledkem v databazi je
+----+----------------------+-----+-----+
| id | name | lft | rgt |
+----+----------------------+-----+-----+
| 1 | ELECTRONICS | 1 | 20 |
| 2 | TELEVISIONS | 2 | 9 |
| 3 | TUBE | 3 | 4 |
| 4 | LCD | 5 | 6 |
| 5 | PLASMA | 7 | 8 |
| 6 | PORTABLE ELECTRONICS | 10 | 19 |
| 7 | MP3 PLAYERS | 11 | 14 |
| 8 | FLASH | 12 | 13 |
| 9 | CD PLAYERS | 15 | 16 |
| 10 | 2 WAY RADIOS | 17 | 18 |
+----+----------------------+-----+-----+
Vysledny JSON je nasledujici:
{
"name": "ELECTRONICS",
"lft": "1",
"rgt": "20"
},
{
"name": " TELEVISIONS",
"lft": "2",
"rgt": "9"
},
{
"name": " TUBE",
"lft": "3",
"rgt": "4"
},
{
"name": " LCD",
"lft": "5",
"rgt": "6"
},
{
"name": " PLASMA",
"lft": "7",
"rgt": "8"
},
{
"name": " PORTABLE ELECTRONICS",
"lft": "10",
"rgt": "19"
},
{
"name": " MP3 PLAYERS",
"lft": "11",
"rgt": "14"
},
{
"name": " FLASH",
"lft": "12",
"rgt": "13"
},
{
"name": " CD PLAYERS",
"lft": "15",
"rgt": "16"
},
{
"name": " 2 WAY RADIOS",
"lft": "17",
"rgt": "18"
}
Rad bych pomoci select - optgroup zobrazil "mnozinu potomku" kazdeho rodice. Bohuzel si moc nevim rady jak logicky postupovat tak abych do budoucna zobrazil "nekonecny" pocet vnoreni.
-
Snazim se o to v Reactu...
Pomoci ul/li by to vypadalo nejak takto
<ul>ELECTRONICS
<ul>TELEVISIONS
<li>TUBE</li>
<li>LCD</li>
<li>PLASMA</li>
</ul>
<ul>PORTABLE ELECTRONICS
<ul>MP3 PLAYERS
<li>FLASH</li>
</ul>
<li>CD PLAYERS</li>
<li>2 WAY RADIOS </li>
</ul>
</ul>
-
Na wiki je to heslo na adrese https://en.wikipedia.org/wiki/Nested_set_model
A jak tam pisou, je to urcene pro data, ktere se malo meni. Zmena totiz znamena aktualizaci vsech indexu. Tj. MySQL by to asi jeste zvladla relativne rychle, ale v MVCC databazi (napr. Postgres) by to bylo hodne drahe (a navic jsou v nich lepsi zpusoby prace s rekurzivnim daty).
PS: az po odeslani jsem pochopil, ze se tu neresi ukladani dat, ale jejich zobrazeni .. no, tak nic :)