Visa ett inlägg
Oläst 2004-11-09, 18:35 #1
Tvartom Tvartom är inte uppkopplad
Medlem
 
Reg.datum: Oct 2004
Inlägg: 86
Tvartom Tvartom är inte uppkopplad
Medlem
 
Reg.datum: Oct 2004
Inlägg: 86
Hej!
Jag bygger just nu ett register med poster som ska vara indelade i kategorier.
Var post ska vara kunna tillhöra en eller flera kategorier.

De olika kategorierna ska kunna ändras, läggas till eller tas bort,
och ligga i en egen tabell.

Jag funderar därför hur man snyggast gör dessa realationer!


Detta är ett sätt, men jag gillar inte det riktigt:

Kod:
kategori-tabell:
id          beskrivning
1           "kat 1"
2           "kat 2"
3           "kat 3"


register-tabell:
id          post          kat
1           "reg1"         "1,2,"
2           "reg2"         "2,"
3           "reg3"         "1,2,3,"
Sökfråga för att söka kategori blir då i stil med:
Kod:
SELECT * FROM register-tabell WHERE kat LIKE '%".$katid.",%' ORDER BY ...
Att ta bort en kategeri får då göras med:
Kod:
DELETE FROM kategori-tabell WHERE id=".$katid." LIMIT 1;
UPDATE register-tabell SET kat = REPLACE(kat, '".$katid.",', '') WHERE 1
Att tilldelea en register post en registerpost får göras med:
Kod:
UPDATE register-tabell SET kat = CONCAT(kat, '".$katid.",') WHERE id = ...
Koden som den ser ut här fungerar ju dock inte, för finns en post med id 11 kommer en sökning på 1 hitta den. Detta går visserligen att komma runt med att fixa till koden lite, men det är lite på grund av detta som jag inte gillar strukturen.

Har någon förslag på ett bättre sätt?
/ Lasse
Tvartom är inte uppkopplad   Svara med citatSvara med citat