Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: 2 Tabellen moeten 3de tabel vullen  (gelezen 4491 keer)

2 Tabellen moeten 3de tabel vullen
« Gepost op: 2010/01/31, 20:13:28 »
Mijn vorige topic was eigenlijk beetje fout. Begon namelijk bij mij zelf want als je niet precies weet wat je moet doen dan stel je de verkeerde vragen :D

Ik heb 3 Tabellen

[Printer] (id, merk, type, code)
[Assortiment] (id, printer, cartridge)
[cartridge] (artikelnr, merkcode, kleur, inhoud, omschrijving, cartridgemerk, cartridgecode, ean, prijs)

Relatie is:
[Printer(id)] 1 op n [Assortiment(printer)]
[Cartridge(artikelnr) 1 op n [Assortiment(cartridge)]

Wat op neer komt is 1 Printer kan meerdere Cartridges hebben maar 1 Cartridge kan ook meerdere Printers hebben.

Wat zou de SQL Query zijn om zo de tabel Assortiment te vullen met deze data? die je natuurlijk handmatig (PHP Post) moet aan klikken

Re: 2 Tabellen moeten 3de tabel vullen
« Reactie #1 Gepost op: 2010/02/01, 21:41:17 »
Jongens ik heb hier te maken met een Junction Table. Heeft iemand misschien een goed script tip om zo deze te vullen bijv met 2 combo boxes en dan een submit knop
« Laatst bewerkt op: 2010/02/01, 23:15:43 door shinger »

Offline Rachid

  • Lid
    • rachidbm
    • Mijn blog
Re: 2 Tabellen moeten 3de tabel vullen
« Reactie #2 Gepost op: 2010/02/01, 23:07:55 »
Dat is inderdaad een koppeltabel (junction). Als je nog even niet in database tabellen denkt, heb je 2 entiteiten; Printer en Cartridge. Deze hebben een n-op-n relatie. Om dit in tabellen te doen doe je dus zo'n koppeltabel. Maar die koppeltabel heeft maar 2 velden nodig. Het veld id is overbodig.

Je vraagt nu om een script. Ik ga hier niet jouw huiswerk zitten maken...
Ben je ook blij dat Ubuntu zo toegankelijk en gratis is, en wil je graag net als ik iets terugdoen, kijk dan eens rond bij mwanzo, dé poort naar het bijdragen aan Ubuntu en haar gemeenschap!

Re: 2 Tabellen moeten 3de tabel vullen
« Reactie #3 Gepost op: 2010/02/01, 23:14:58 »
Nee sorry ik vraag niet echt om script maar meer een aanwijzing van hoe je dit zou aanpakken :). Hoe zou het beste manier zijn om de junction table te vullen? met behulp van wat? daar kom ik dus niet uit.

Offline Rachid

  • Lid
    • rachidbm
    • Mijn blog
Re: 2 Tabellen moeten 3de tabel vullen
« Reactie #4 Gepost op: 2010/02/01, 23:33:19 »
Oke, dus je hebt 2 gevulde tabbellen. Een lijst met printers, en een lijst met cartridges?
En dan wil je op een pagina, dat je ze kunt gaan koppelen?
Ben je ook blij dat Ubuntu zo toegankelijk en gratis is, en wil je graag net als ik iets terugdoen, kijk dan eens rond bij mwanzo, dé poort naar het bijdragen aan Ubuntu en haar gemeenschap!

Re: 2 Tabellen moeten 3de tabel vullen
« Reactie #5 Gepost op: 2010/02/02, 17:20:08 »
Oke, dus je hebt 2 gevulde tabbellen. Een lijst met printers, en een lijst met cartridges?
En dan wil je op een pagina, dat je ze kunt gaan koppelen?

Ja het is dus ene junction table.
Moet je voorstellen dat het zo uit ziet maar de relatie naar de Junction table van de 2 andere tabellen is 1 op N

http://www.dbforums.com/attachments/microsoft-access/5551d1134395887-subforms-using-junction-table-relationships.gif

Offline Rachid

  • Lid
    • rachidbm
    • Mijn blog
Re: 2 Tabellen moeten 3de tabel vullen
« Reactie #6 Gepost op: 2010/02/02, 21:21:03 »
Oke, dus je hebt 2 gevulde tabbellen. Een lijst met printers, en een lijst met cartridges?
En dan wil je op een pagina, dat je ze kunt gaan koppelen?

Ja het is dus ene junction table.
Moet je voorstellen dat het zo uit ziet maar de relatie naar de Junction table van de 2 andere tabellen is 1 op N

http://www.dbforums.com/attachments/microsoft-access/5551d1134395887-subforms-using-junction-table-relationships.gif
Dat snap ik. Dat had ik in de eerste post al proberen te verhelderen.

Heb je al wel een script/pagina dat gewoon 1 tabel kan vullen? bijv. de tabel Printer.

Er zijn legio mogelijkheden om dit op een pagina te doen. Je zou een dropdown met printers kunnen maken. Als je hieruit een printer selecteer. Kun je een lijstje met cartridges tonen waar dan checkboxes voor staan. Zodat je meerdere cartridges kunt selecteren.

Uit mn hoofd wordt de query ongeveer zoiets: INSERT INTO Assortiment (printer, cartridge) VALUES (1, 2); Hiermee koppel je printer 1 aan cartridge 2.

Als je meerdere koppelingen tegelijk wilt uitvoeren in 1 post (na het klikken op de knop OPSLAAN bijv.). Zou je deze query per koppeling uit kunnen voeren. (het kan misschien ook wel in 1 query, maar dit is voor nu wat makkelijker). Als je dit werkend hebt kun je altijd kijken hoe je het in 'grote' 1 query doet.

Beantwoord dit je vraag?
Ben je ook blij dat Ubuntu zo toegankelijk en gratis is, en wil je graag net als ik iets terugdoen, kijk dan eens rond bij mwanzo, dé poort naar het bijdragen aan Ubuntu en haar gemeenschap!