mboost-dp1
Nemmere måde at linke data sammen i PHP/MySQL?
- Forside
- ⟨
- Forum
- ⟨
- Programmering
Er der mon nogle features der kan sætte lidt mere fart i et system som ser sådan ud?:
Der er en table med brugere
Der er en table med grupper
Der er en table som indeholder hvilke brugere der er i hvilke grupper.
En bruger skal kunne være i flere forskellige grupper.
Jeg tænkte på om den sidste table kunne indeholde ID'er til bruger og gruppe men det giver vist et hav af queries som stresser serveren hvis jeg skal liste alle brugere i en gruppe f.eks.
Er der ikke metoder til at linke data sammen på en eller anden måde i MySQL sådan at jeg kan få navn på både bruger og gruppe uden at skulle køre ekstra queries?
Der er en table med brugere
Der er en table med grupper
Der er en table som indeholder hvilke brugere der er i hvilke grupper.
En bruger skal kunne være i flere forskellige grupper.
Jeg tænkte på om den sidste table kunne indeholde ID'er til bruger og gruppe men det giver vist et hav af queries som stresser serveren hvis jeg skal liste alle brugere i en gruppe f.eks.
Er der ikke metoder til at linke data sammen på en eller anden måde i MySQL sådan at jeg kan få navn på både bruger og gruppe uden at skulle køre ekstra queries?
users tabel: id + alt user info.
groups tabel: id + gruppe info.
group_user_link: gid + uid (altså en link tabel mellem de to andre tabeller).
Hvis du skal liste alle brugere i en gruppe (ét query):
SELECT u.*
FROM users u, groups g, group_user_link l
WHERE g.name='<blah>' AND g.id=l.gid AND l.uid=u.id;
Hvor <blah> er navnet på en gruppe.
Hjalp det?
groups tabel: id + gruppe info.
group_user_link: gid + uid (altså en link tabel mellem de to andre tabeller).
Hvis du skal liste alle brugere i en gruppe (ét query):
SELECT u.*
FROM users u, groups g, group_user_link l
WHERE g.name='<blah>' AND g.id=l.gid AND l.uid=u.id;
Hvor <blah> er navnet på en gruppe.
Hjalp det?
Gå til top
Opret dig som bruger i dag
Det er gratis, og du binder dig ikke til noget.
Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.