Mitglieder einer best. Gruppe in Memberlist oben anzeigen

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Benutzeravatar
Faser
Ehemaliges Teammitglied
Beiträge: 1651
Registriert: 20.09.2001 02:00
Kontaktdaten:

Mitglieder einer best. Gruppe in Memberlist oben anzeigen

Beitrag von Faser »

Hallo,

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";
Mit den ersten WHERE-Abfragen werden alle Benutzer aus der Gruppe ausgelesen. Ab "OR" wird der Gruppen-Moderator ausgelesen.

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
QUADRATDESIGN. Eine runde Sache.
Besuchen Sie unsere Agentur für Webdesign unter http://quadratdesign.de
Benutzeravatar
Faser
Ehemaliges Teammitglied
Beiträge: 1651
Registriert: 20.09.2001 02:00
Kontaktdaten:

Beitrag von Faser »

Hat doch keiner eine Idee?
QUADRATDESIGN. Eine runde Sache.
Besuchen Sie unsere Agentur für Webdesign unter http://quadratdesign.de
Benutzeravatar
Faser
Ehemaliges Teammitglied
Beiträge: 1651
Registriert: 20.09.2001 02:00
Kontaktdaten:

Beitrag von Faser »

*bump*

Es geht im Grunde nur darum, zwei SQL-Abfragen miteinander zu verbinden, so dass die Daten nachher zusammen ausgelesen werden können.

Die eine Abfrage fragt einen einzelnen Benutzer ab, die andere alle übrigen aus der Gruppe.

Diese beiden Abfragen müsste ich jetzt miteinander verbinden.
QUADRATDESIGN. Eine runde Sache.
Besuchen Sie unsere Agentur für Webdesign unter http://quadratdesign.de
Benutzeravatar
Berney
Mitglied
Beiträge: 92
Registriert: 18.08.2005 21:16
Wohnort: Maintal

Beitrag von Berney »

Ich glaube ich kenne das Problem...

alledings als ein reines SQL-Problem!? - Leider bin ich zu lange aus dem Thema (SQL) raus um Dir athoc eine brauchbare Antwort geben zu können...

Hast Du es mal in einem SQL-Forum probiert?! Ich denke dort bekommst Du schneller Antwort!!

Vielleicht kannst Du aber mir helfen, ich bin nämlich an einer ähnlichen Baustelle... Ich möchte die Memberlist und die Profiles nur einer bestimmten Gruppe freischalten...

Grüße
Bernd
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“