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