Mitglieder einer Benutzergruppe auslesen?

  • Hallöchen,


    ich hätte da mal eine frage ^^ Kann ich irgendwie die Benutzer einer bestimmten Benutzergruppe auslesen lassen und anzeigen lassen also auch aber trennung zwischen Gruppenleiter und Mitglieder?

    Gruß
    Jonas



    Hallo – Hello – Bonjour – Merhaba – Hei - Γεια σας – Hej – مرحبا – Halo – Olá – Hallå – здраво - ¡Hola
    #welcome #refugeeswelcome #statement

  • LibberY, meinst du mit deiner Frage ganz einfach, wie du das im ACP einstellst? Dort gibt es doch den Tab mit "Benutzergruppe" => Zeige Mitglieder dieser Benutzergruppe an" (sinngemäß, ich habe es nicht im Originalwortlaut im Kopf) (Anzahl der Mitglieder erscheint dann rechts) und dann siehst du, wer in der Benutzergruppe ist, Teamleiter etc.


    Falls du das nicht meinst, kannst du deine Frage vielleicht umformulieren? Ich hatte gerade das Handbuch von Lexa offen, finde da sicher die Lösung. :whistling: :D

  • ^^ Ganz einfach ich möchte die Benutzer einer Benutzergruppe auslesen und sie in einer neuen Seite darstellen.

    Gruß
    Jonas



    Hallo – Hello – Bonjour – Merhaba – Hei - Γεια σας – Hej – مرحبا – Halo – Olá – Hallå – здраво - ¡Hola
    #welcome #refugeeswelcome #statement

  • Möglich per SQL-Abfrage. (Wie gesagt, neu im Bereich WBB, nicht auf meine Antwort verlassen :o) [Bzw. ich würds so tun]
    Und eine neue Page erstellen. Gabs doch schon zig Tuts im Web. Müsste dann klappen :3.

  • Möglich per SQL-Abfrage. (Wie gesagt, neu im Bereich WBB, nicht auf meine Antwort verlassen :o) [Bzw. ich würds so tun]

    Ok, mal gucken ;)

    Und eine neue Page erstellen. Gabs doch schon zig Tuts im Web. Müsste dann klappen :3.

    Das ist nicht das problem die ganzen sachen hab ich ja schon längst ^^ So hinterwälter mäßig lebe ich nun auch nicht :D ( nicht böse gemeint ) ich frag mich nur ob es in WBB diese Funktion gibt oder ob man es halt mit SQL machen muss

    Gruß
    Jonas



    Hallo – Hello – Bonjour – Merhaba – Hei - Γεια σας – Hej – مرحبا – Halo – Olá – Hallå – здраво - ¡Hola
    #welcome #refugeeswelcome #statement

  • Im Prinzip recht simpel. Im folgenden Beispiel wird die Gruppen-ID, der Gruppenname, alle Benutzerdaten und alle Daten des aktuellen Benutzeravatar ausgelesen. Damit kannst du zum Beispiel ein neues UserProfile-Objekt initialisieren.


    SQL
    SELECT	groupData.groupID, groupData.groupName, user.*, avatar.*
    	FROM	wcf(X)_user_to_groups user_to_groups
    		LEFT JOIN	wcf(X)_group groupData
    			ON	(user_to_groups.groupID = groupData.groupID)
    		LEFT JOIN	wcf(X)_user user
    			ON	(user_to_groups.userID = user.userID)
    		LEFT KOIN	wcf(X)_avatar avatar
    			ON	(avatar.avatarID = user.avatarID)
    	WHERE	user_to_groups.groupID = XXX


    (x) muss mit der Installationsnummer des WCF ersetzt werden.

  • Also z.b. muss ich dann und wie füge ich dann in eine TPL ein sprich das der Name oder so angezeigt wird? Das verstehe ich nicht so ganz.

    Gruß
    Jonas



    Hallo – Hello – Bonjour – Merhaba – Hei - Γεια σας – Hej – مرحبا – Halo – Olá – Hallå – здраво - ¡Hola
    #welcome #refugeeswelcome #statement

  • Die Einträge kannst du in deiner Klasse als while-Schleife auslesen und dir damit ein mehrdimensionales Array bauen:


    PHP
    while ($row = WCF::getDB()->fetchArray($result)) {
    	// set group name
    	if (!isset($this->groupUsers[$row['groupID']]['groupName'])) $this->groupUsers[$row['groupID']]['groupName'] = $row['groupName'];
    
    	// set user to users list
    	$this->groupUsers[$row['groupID']]['users'][] = new UserProfile(null, $row);
    }



    Im Template kannst du dann die Ausgabe so staffeln:


    Code
    {foreach from=$groupUsers key=groupID item=groupData}
    	{@$groupID}: {$groupData.groupName}
    
    	{foreach from=$groupData.users item=userData}
    		{@$userData->userID}: {$userData->username}
    	{/foreach}
    {/foreach}