paco: Mal wieder eine SQL-Join-Hirnverknotung..

Beitrag lesen

Hallo Ihr!
folgendes Problem:
Für eine Benutzerverwaltung habe ich drei Tabellen, eine für die Nutzer, eine für die Gruppen und eine wo die jeweiligen ids als fremdschlüssel eingetragen werden

users

  • id + username
    +++++++++++++++
    +  1 + peter
    +  2 + paul
    +  3 + mary

groups

  • id + groupname
    ++++++++++++++++
    +  1 + admins
    +  2 + normalos
    +  3 + looser

users_groups

  • id + uid + gid
    ++++++++++++++++
  • 1  +  1  +  1
  • 2  +  1  +  2
  • 3  +  2  +  2
  • 4  +  3  +  2
  • 5  +  3  +  3

Um das zu pflegen möchte ich jetzt, bei ausgewählter Gruppe, in einer Schleife alle Usernamen ausgeben, mit jeweils einer Checkbox davor, die vorausgewählt ist, wenn der jeweilige User sich in der Gruppe befindet.

Also im Prinzip sowas:

$groupid = 2;

$sql="SELECT * FROM users";
$result = mysql_query($sql);
  while ($link = mysql_fetch_array($result)) {
    echo $link[username];
    echo *checkbox*;
     if(SELECT COUNT * FROM users-groups WHERE gid = $groupid AND uid = $link[id]) echo "checked=checked";
  }

Geht das grundsätzlich so? Hat jemand einen Rat wie die zweite Abfrage aussehen kann, bzw wie ich das mit einem Join hinbekomme? Oder gibt es eine noch schlauere Methode?

Dankeschööön,
Paco