Udtræk DISTINCT fra flere tabeller (vil jeg tro)
Jeg har en række artikler, hvortil det er angivet, om en artikel kun er relevant for en enkelt brugergruppe. Jeg har tre tabeller;1. artikler:
artikel_id (autonum) | artikel_navn
2. brugerroller
rolle_id (autonum) | rolle_navn
3. kontekst
kontekst_id (autonum) | kontekst_artikel_id | kontekst_rolle_id
Man kan altså forestille sig, at eks. artiklen "PHP for begyndere" (med artikel_id 3) er relevant for eks. "Studerende" (rolle_id 4) og "Undervisere" (rolle_id 5), men IKKE relevant for eks. "Forelæsere" (rolle_id 7)
Det ser ud som flg. i fht. ovenstående:
1. artikler:
3 | PHP for begyndere
2. brugerroller
4 | Studerende
5 | Undervisere
7 | Forelæsere
3. kontekst (her er kontekst_id bare sat til 12 og 13)
12 | 3 | 4
13 | 3 | 5
Så langt så godt. Hvis jeg nu vil rette i indstillingerne for "PHP for begyndere"-artiklen, vil jeg gerne lave et udtræk over ALLE brugerrollerne, men kun afkrydse dem der er valgt via checkbox'e (her "Studerende" (rolle_id 4) og "Undervisere" (rolle_id 5)).
Min SQL ser ud som:
$sql_roles = mysql_query("SELECT * FROM artikler,brugerroller,kontekst WHERE artikel_id = kontekst_artikel_id AND kontekst_rolle_id = rolle_id ORDER BY rolle_navn asc");
Problemet er, at den lister rollerne flere gange (hvis de også er brugt ved en anden artikel). Så hvordan skal det se ud, hvis jeg vil liste ALLE rollerne og afkrydse de valgte?
Håber det giver mening :-D
