Hoe kan ik dit het beste oplossen?

Via een formuliertje vul ik bepaalde gegevens in, in de database. Hierbij moet ik onder andere ook de categorie invullen (Bijv Mac, Windows, Linux). Er bestaat een tabel in de database met de naam categorie, daar staan ze in. Via een dropdown kies je een categorie en klaar.

Het probleem wat ik nu heb:

Stel er is software beschikbaar voor zowel Mac als Windows, dan kan ik online in het zoekformulier ook maar 1 categorie aangeven. Dan moet ik die software of 2x invoeren of gewoon 1x met maar 1 categorie.

Hoe kan ik dus meerdere categorieen meegeven, zonder meerdere velden (cat1, cat2 etc.) aan te hoeven maken in de database?

Op 2 manieren.

1: Een extra veld in je tabel met software genaamd cats (ofzo), hier in zet je alle categorie ID's gescheiden met een ,
2: Een extra 'koppel' tabel tussen de software tabel en categorie tabel (met beide id's)
Je maakt een tabel categorieen en je maakt een categorie artikelen. Vervolgens maak je een koppeltabel, bijv. artikelen_categorieen waarin je combi's opslaat van cat_id en art_id.
Dennis Mertens schreef op 04.12.2008 11:01
1: Een extra veld in je tabel met software genaamd cats (ofzo), hier in zet je alle categorie ID's gescheiden met een ,

Aaaarrrrgggghhh! Dit doe je nooit. Het ruineert je datamodel.
Hmm... werk toch al een tijd nu met php/mysql maar nooit geweten over koppeltabellen. Dank jullie wel, ga ik me eens in verdiepen!
Jan Koehoorn schreef op 04.12.2008 11:03
[quote='Dennis Mertens schreef op 04.12.2008 11:01']1: Een extra veld in je tabel met software genaamd cats (ofzo), hier in zet je alle categorie ID's gescheiden met een ,

Aaaarrrrgggghhh! Dit doe je nooit. Het ruineert je datamodel.[/quote]Ja klopt, kan je opnieuw gaan normaliseren :p


Maar in sommige systemen kan het toch al geen kwaad meer :P

Reageren