Kezdőoldal » Számítástechnika » Programozás » Adatbázisból tömbbe hogy...

Adatbázisból tömbbe hogy tudok hatékonyan menüszerkezetet betenni?

Figyelt kérdés

Üdv,

adatbázisból szeretnék menüt rendezni többdimenziós tömbbe.

Erre várnék 5leteket. Jó volna DB-ből már rendezve lekérni és aztán csak behúzni tömbbe.

prog.hu-n volt egy jó kód, de nem tökéletes: [link]

Nálam is a másodlagos menük már rossz helyre kerülnek.

Tábla: ID, nev, szulo, sorrend

Ha a menü főmenü, akkor a parent értéke nulla.


Gondolkodtam azon, h valami rekurzív eljárást írok, ami egyesével végigmegy a lekérdezés eredményén, majd egy tömbbe elkezdi bepakolni úgy, hogy ID alapján. De mivel bármilyen sorrend lehet a feldolgozásban, így nem tudni, h ki milyen mélységbe kerül. Azaz minden vizsgált menüpontnál a már elhelyezett fán végig kéne mennem. Ez nem tűnik túl hatékonynak. Köszönöm annak, aki segít ebben.



2019. márc. 22. 20:08
1 2 3
 1/25 anonim ***** válasza:
45%
Bármilyen adatbázislekérés sql nyelven egy rekordhalmazt ad vissza, amely sorokból és mezőkből áll. Így semmi esetre sem lehet kétdimenziós. Ha kétdimenziós tömbbe akarsz pakolni, akkor arra neked kell írnod függvényt, és szétválogatni valami mentén. Bár nem mondtad milyen nyelv, de hacsaknem PHP, nem érdemes tömbbe pakolni olyan dolgot, aminek nem lehet biztosan tudni a számosságát.
2019. márc. 22. 21:03
Hasznos számodra ez a válasz?
 2/25 anonim ***** válasza:
45%
Semmi értelme ennek.
2019. márc. 22. 21:23
Hasznos számodra ez a válasz?
 3/25 A kérdező kommentje:
Azt hittem a cimkéből látszik. Igen, php a nyelv. És igen, ismerem a lekérés által visszaadott formátumot. Én arról beszéltem, h a végeredményt kellene egy kétdimenziós tömbbe visszakapnom. A lekérdezést meg úgy lenne jó, ha már eleve rendezetten adná vissza, azaz csak a dimenziót kellene szelektálnom a szülő alapján.
2019. márc. 22. 21:34
 4/25 A kérdező kommentje:

A lekérdezés eredménye kb. így kéne, h kinézzen:

ID,nev,szulo,sorrend

1,Főmenü1,0,1

2,Almenü1,1,1

3,Alalmenü1,2,1

4,Almenü2,1,2

5,Főmenü2,0,2

2019. márc. 22. 21:37
 5/25 anonim ***** válasza:
És hogy néz ki a 2 dimenziós tömb amit szeretnél? Mért nem fát építesz?
2019. márc. 22. 21:40
Hasznos számodra ez a válasz?
 6/25 A kérdező kommentje:

2 dimenziós, ha 1 almenü van.

Több dimenziós, ha mélyebb a fa.

Pl:

$menu["Főmenü1_IDja"]=>osztalyparameterek

$menu["Főmenü1_IDja"]=>["Almenü1_IDja"]=>osztalyparameterek

$menu["Főmenü1_IDja"]=>["Almenü1_IDja"]=>["Alalmenü1_IDja"]=>osztalyparameterek

De lehet akármi más. A lényeg, hogy könnyen bejárható legyen és minnél egyszerűbb legyen a felépítése, ill. a benne lévő keresés is akár. Más 5letet is szívesen fogadok.

Ha 1 dimenziós a tömb, az is lehet jó, de a könnyű kezelhetőség miatt akkor is kellene a sorrendiség.

2019. márc. 22. 23:15
 7/25 anonim ***** válasza:
De miert kellene 2d tombot visszakapnod? Ennek semmi ertelme
2019. márc. 22. 23:31
Hasznos számodra ez a válasz?
 8/25 A kérdező kommentje:
Akkor mondj más megoldást. Nekem mind1 lenne, csak kezelhető legyen.
2019. márc. 22. 23:33
 9/25 anonim ***** válasza:
BST pl, a sorrend is kezelheto
2019. márc. 22. 23:42
Hasznos számodra ez a válasz?
 10/25 anonim ***** válasza:

Fa adatszerkezet.

A problémához kell választani a megoldást és nem beleerőszakolni a problémát az aktuális ismereteinkbe.

2019. márc. 22. 23:49
Hasznos számodra ez a válasz?
1 2 3

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!