Vinnaren i pepparkakshustävlingen!
2008-10-21, 21:44
  #1
Medlem
Akdrs avatar
Hejsan alla glada!

Har en liten fråga,

I mitt senaste projekt ska jag ha "användare" som man lägger in i "grupper".
Det där med att säga vilken grupp de tillhör är redan klart och nu kommer den sista detaljen:

Hur säger jag åt tabell "group" att en användare i tabell "user" har värdet "grupp = 1" ?

Databasen ser ut så här:

Kod:
Usertabellen:
ID:Namn:Password:Grupp

Grouptabellen:
ID:Namn:Medlemmar

Alltså: Jag vill att Grupptabellen ska uppfatta att User, Grupp = 1 och då lägga in Medlemmar = 1

Tack för all hjälp, och fråga om ni inte förstår vad jag menar!

EDIT: Ändrade lite språksvårigheter.
Citera
2008-10-21, 23:16
  #2
Medlem
C - Js avatar
Ska en användare kunna tillhöra flera grupper eller bara en?

Om användaren bara kan tillhöra 1 grupp, då lägger du till ett fält i User som är en Foreign Key till Group tabellen.

Då blir svaret på din fråga
UPDATE User
SET GroupId= 31337
WHERE ID = 4

för att tilldela grupp 31337 till användare 4.

Om användaren istället ska kunna tillhöra flera grupper samtidigt då lägger du till en ny tabell som ser ut på detta sätt:

UserGroupes
UserId:GroupId

Där både UserID och GroupIdär Primary keys, och foreign keys till sina respektive tabeller User och Group

För att lägga till ytterligare en grupp till en användare, då blir det så här

INSERT INTO UserRoles (UserId, GroupId) VALUES (4, 31337)

För att sedan ta reda på vilka grupper en viss användare har så gör du så här

SELECT G.* FROM Groups G
INNER JOIN UsersGroupes UG
ON UG.GroupId= G.ID
INNER JOIN Users U
ON U.ID = UG.UserId
WHERE U.ID = 4;
Citera
2008-10-22, 11:39
  #3
Medlem
Akdrs avatar
Tack så hemskt mycket!
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback