[MySQL] Hoe een geneste tabel maken?

Pagina: 1
Acties:

  • superbikkel
  • Registratie: Juli 2001
  • Laatst online: 16-05 09:49
Ik ben een programma uit VB6 aan het omzetten naar PHP/MySQL.

In het VB6 programma werk ik met een database, die 2 tabellen heeft, maar elke tabel is opgedeelt in 30 sub-tabellen (of zoiets). Het zit er iig zo uit:

Type Record2
Positie(29) As String * 6
Credits(29) As String * 20
End Type

Ik kan dus 30 waardes toekennen, en dat werkt in een for-next loopje veel makkelijker als 30 keer een waarde toekennen.

Maar mijn probleem is dus: hoe maak ik deze tabel in MySQL aan?

  • phYzar
  • Registratie: November 2001
  • Laatst online: 00:04
Ik denk dat het iets eenvoudiger is als je uitlegt wat je wilt opslaan en hoe, in plaats van het bedenken van een omzetslag van vb naar mysql/php.

Maar als ik je een beetje snap dan zou het ongeveer zijn:

Hoofdtabel
- subtabel
- subtabel
----- subsubtabel
----- subsubtabel
Hoofdtabel
- subtabel
- subtabel
----- subsubtabel
----- subsubtabel

waarin een hoofdtabel nul/een/meerdere subtabellen heeft en elke subtabel nul/een/meerdere subsubtabellen.
In de hoofdtabel zet je dus id's + eventueel extra data
In de subtabel zet je id's, + eventueel extra data + een id die wijst naar een id in de hoofdtabel.
In de subsubtabel zet je id's, + eventueel extra data + een id die wijst naar een id in de subtabel.

[ Voor 10% gewijzigd door phYzar op 10-07-2004 21:39 . Reden: typo's ]


  • superbikkel
  • Registratie: Juli 2001
  • Laatst online: 16-05 09:49
Ik wil de subtabel kunnen aanspreken dmv een teller, dus tabel(x).

  • MissingDog
  • Registratie: Augustus 2002
  • Niet online
een 'subtabel' bestaat in mijn ogen niet, het is puur hoe jij je recordsets/tabellen aan elkaar linkt waardoor de structuur van je db bepaald wordt.

zie een database als een kast met kaartenbakken, de samenhang wordt bepaald door de verwijzingen die jij op je kaartjes en bak-labels hebt staan. Een subtabel zou zoiets zijn als een kaartenbak met in nog een kaartenbak van dezelfde maat...do the math.

je kunt een reeks tabellen aanmaken met een volgnummer en de term 'subtabel' laten varen. Dan kan je met een for-loop de boel prima referencen...of laat alles wel in 1 tabel staan, maar voeg een subtabel-volgnummerveld toe om naar te referencen.

[ Voor 25% gewijzigd door MissingDog op 10-07-2004 21:50 ]


  • superbikkel
  • Registratie: Juli 2001
  • Laatst online: 16-05 09:49
Dat snap ik wel, maar het moet toch mogelijk zijn.

Eigenlijk wil ik een Array opslaan in een database, dus een variabele met 30 waarden.

Dat moet toch mogelijk zijn.

Zoals ik het nu zie moet ik de Array naar 1 variabele omzetten (var=array(1)+array(2)......) en dan die variabele opslaan in de tabel.

  • phYzar
  • Registratie: November 2001
  • Laatst online: 00:04
superbikkel schreef op 10 juli 2004 @ 21:51:
Eigenlijk wil ik een Array opslaan in een database, dus een variabele met 30 waarden.
Het is misschien iets netter en handiger wanneer je in die tabel geen array zet maar gewoon een record met 30 velden of (wanneer je aantal velden niet vast staat) een aparte tabel.

  • BrZ
  • Registratie: Maart 2000
  • Laatst online: 15:43

BrZ

De enige goede manier om dit te doen is met 2 tabellen. (Waarbij je in de 2e tabel dus per record in de 1e tabel 30 records hebt.)
Pagina: 1