bitte nehmt euch Zeit, das Problem zu lesen. Es ist glaube ich viel einfacher, als es aussieht (oder von mir erklärt ist... )
Ich bin gerade dabei, die memberlist.php so zu modifizieren, dass Mitglieder einer bestimmten Gruppe (die Administratioren) immer ganz oben angezeigt werden (in einer extra Tabelle).
Dazu habe ich den gesamten Vorgang in der memberlist.php, der die Mitglieder ausliest, kopiert und so abgeändert, dass jetzt alle Mitglieder aus der Administrations-Gruppe angezeigt werden.
Allerdings werden in der USER_GROUPS_TABLE nur die Mitglieder der Gruppe gespeichert und nicht der Gruppen-Moderator. Also möchte ich den jetzt auch noch hinzufügen, am besten in EINER SQL-Abfrage.
Versucht habe ich das so:
Code: Alles auswählen
$sql2 = "SELECT u.username, u.user_id, u.user_viewemail, u.user_posts, u.user_regdate, u.user_from, u.user_website,
u.user_email, u.user_icq, u.user_aim, u.user_yim, u.user_msnm, u.user_avatar, u.user_avatar_type,
u.user_allowavatar, u.user_university, u.user_subject, u.user_semester, u.user_forename, u.user_lastname,
u.user_lastvisit, ug.group_id, ug.user_id
FROM " . USERS_TABLE . " u, " . USER_GROUP_TABLE . " ug, " . GROUPS_TABLE . " g
WHERE ug.group_id = 7
AND ug.user_id = u.user_id
OR g.group_id = ug.group_id
AND g.group_moderator = u.user_id
ORDER BY u.user_id ASC";
Allerdings werden nun die Gruppen-Mitglieder so häufig angezeigt, wie es Benutzergruppen gibt und der Gruppen-Moderator so häufig, wie es Benutzer in der Gruppe gibt.
Anders erklärt: Ich habe in der Benutzergruppe 2 Benutzer, Gruppen gibt es im Moment insgesamt 56. Der Gruppen-Moderator wird also 2mal angezeigt, die Benutzer jeweils 56mal.
Das sieht natürlich irgendwie blöd aus und sollte auch nicht so sein. Weiß jemand, woran das liegt?
Die Abfragen für sich alleine funktionieren natürlich. Ich nehme an, ich kann das OR-Element nicht benutzen und muss auf ein anderes zurückgreifen oder so...
Vielen Dank auf jeden Fall schonmal für eure Antworten,
Faser