[PHP/MySQL] Meerdere tree's in één tabel

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dag allemaal,

ik heb een "tree" opgebouwd aan de hand van de volgende structuur:
http://dev.mysql.com/tech...es/hierarchical-data.html / http://www.sitepoint.com/article/hierarchical-data-database

Nu wil ik een tweede tree in dezelfde tabel stoppen. Maar dat wil niet echt.
Ik moet dan heel erg op letten op de lft of rgt van de verschillende tree's. De tree's moeten volledig gescheiden lft en rgt's hebben, die ook niet wordt geupdate, als de andere wordt geupdate.

Ik kan ook de verschillende tree's op het 1e niveau laten beginnen. Zo hoef ik alleen rekening te houden dat alles een "niveau" lager zit. Een nadeel is dan wel dat de lft en rgt's ook van "volgende" menu's ook worden opgehoogd.
Deze manier werkt wel wat beter en veiliger dan de vorige, vind ik.

Is er een andere manier om 2 tree's in één tabel te stoppen en ze goed gescheiden te houden. Of is mijn laatste "oplossing" de manier?

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Gewoon meer dan één element opnemen zonder parent (de root dus), en dan verschillende elementen daaraan linken lijkt me op zich geen probleem? En anders zou je een tree_id-veld kunnen opnemen met een uniek id voor elke tree die in je tabel voorkomt. Op die manier kun verschillende trees scheiden in een simpele query.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Als de tree "gewoon" was gebleven zou dit gewerkt hebben.
Maar met het "algoritme", dat beschreven staat op de sites uit van vorige post, is dit niet mee zo 123 mogelijk.

Door het plat strijken van de tree en de lft en rgt velder er aan toe te voegen, bepaald dat de volgorde.
Alle subnodes worde opgehaald, afgehankelijk van die rgt en lft.

Een extra veld opnenemen, die als tree identiefier werk is opzich ook wel een manier. Zodat je bijhoudt bij welke tree/parent een node hoort.