voor elke categorie nieuwe kolom aanmaken?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Yamahadt50r

yamahadt50r

29/01/2008 19:37:00
Quote Anchor link
Ik wil iets maken waar mensen een site toe kunnen voegen. Ze moeten dan aanvinken in welke categorie(en) de site hoord. Normaal stop je gewoon 1 categorie in de database, maar ik wil de mogelijkheid maken om de site in meerdere categorien te zetten. Ik heb 15 soorten categorien. Moet ik dan 15 kolommen aanmaken of is er een andere handige oplossing om bijvoorbeeld 7 categorien in 1 kolom te stoppen en ze er ook weer uit te kunnen halen?
 
PHP hulp

PHP hulp

20/11/2024 03:25:00
 
Mr D

Mr D

29/01/2008 19:39:00
Quote Anchor link
lees eens iets over normaliseren, je hebt een tabel categorien en dan nog een koppeltabel tussen categorien en sites
 
Slurp

Slurp

29/01/2008 19:48:00
Quote Anchor link
Heel simpel een extra tabel met.
Id
catId
siteId

en zo kan je site meerdere catogorieen bevatten en catogorie ook meerdere sites..
 
Jesper Diovo

Jesper Diovo

29/01/2008 19:57:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
Tabel1 'categorie':
id | naam

Tabel2 'sites':
id | cat_id | url | naam


Zoiets?
 
Frank -

Frank -

29/01/2008 20:56:00
Quote Anchor link
Vaak zul je zien dat 1 item (een site in dit geval) zelfs in meerdere categorieen kan vallen. Dan heb je een koppeltabel nodig:

sites:
id
naam

categorieen:
id
naam

site_categorie: (dus de koppeltabel)
id_site (Foreign key op de tabel sites)
id_categorie (Foreign key op de tabel categorieen)

Mocht je een held zijn en MySQL willen gebruiken, dan zul je wel de innoDB-engine moeten gebruiken. PostgreSQL blijft uiteraard een aanrader, stukken veiliger, zeker voor beginners.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.