Abfrage für Gruppenmitgliedschaft?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
kratzer54847
Mitglied
Beiträge: 3065
Registriert: 20.01.2003 16:34
Wohnort: Düsseldorf/Hannover/Berlin
Kontaktdaten:

Beitrag von kratzer54847 »

hoi,

ich glaube ich hab da noch etwas übersehen,nämlich dass es ja neben Mitgliedschaft und nicht Mitgliedschaft auch das Warten auf die Mitgliedschaft gibt. :D

hab also folgenden Query erstellt:

Code: Alles auswählen

SELECT g.group_id, g.group_name, g.group_description, g.group_type,ug.user_pending FROM phpbb_groups g LEFT JOIN phpbb_user_group ug ON ug.group_id = g.group_id AND ug.user_id = '2' AND ug.user_pending = '1' WHERE g.group_single_user = 0 AND ug.group_id IS NULL 
der mit aber irgendwie sämtliche Gruppen rausgibt anstatt die Gruppen,bei denen ein User die Mitgliedschaft beangtragt hat. :cry:
Knowledge Base | MOD Datenbank | Boardsuche | HTML | PHP

Durch die richtige Verwendung dieser Links können viele Fragen beantwortet werden ;-)
Benutzeravatar
kratzer54847
Mitglied
Beiträge: 3065
Registriert: 20.01.2003 16:34
Wohnort: Düsseldorf/Hannover/Berlin
Kontaktdaten:

Beitrag von kratzer54847 »

*schieb*

habe immer noch keine Lösung gefunden,wie ich die Pending Memberships auslesen kann.

mfg Johny
Knowledge Base | MOD Datenbank | Boardsuche | HTML | PHP

Durch die richtige Verwendung dieser Links können viele Fragen beantwortet werden ;-)
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag von Blutgerinsel »

Beschäftigst du dich mit den Grundlagen bzw. liest du das MySQL Manual......

Ich glaube nicht.....
Bevor du noch Jahre an dieser kleinen, einfachen Frage hängst hier mal was sponsered by me

Code: Alles auswählen

SELECT
  G.group_id,
  G.group_name,
  IF(UsG.user_pending=0,'Member','Waiting') AS MemberofGroup
  FROM 
    phpbb_groups G
  LEFT JOIN
    phpbb_user_group UsG
  ON 
    G.group_id=UsG.group_id
  WHERE
    UsG.user_id=37 AND G.group_single_user=0
Dir ist wohl nicht klar das alle Datensätzen die es in der Table Gruppe gibt in User_Gruppe vorhanden seinen müssen für User X um Mitglied zu sein.
Was nicht vorhanden ist = kein Mitglied der Gruppe

Ist User Pending auf 1 befindet sich der User auf der Warteschlange der Gruppe ansonsten ist er reguläres Mitglied.

Getestet in den Variationen:
Mitglied
Wartend

Mitglied
Wartend
Wartend

Mitglied
Mitglied
Wartend
Wartend

Mitglied
Mitglied
Wartend
Wartend
Mitglied
Mitglied
Mitglied

Ich glaube ich habe heute meinen netten Tag :roll:

P.S.: Alleinig abgeleitet aus DB

Zum Auslesen empfiehlt es sich nach dem Status zu sortieren und dabei z.B. 2 Arrays oder auch sofort auszugeben.......

SQL Statement z.B. so:

Code: Alles auswählen

SELECT
  G.group_id,
  G.group_name,
  IF(UsG.user_pending=0,'Member','Waiting') as MemberofGroup
  FROM 
    phpbb_groups G
  LEFT JOIN
    phpbb_user_group UsG
  ON 
    G.group_id=UsG.group_id
  WHERE
    UsG.user_id=37 AND G.group_single_user=0
  Order By
    MemberofGroup,G.group_name
Antworten

Zurück zu „Coding & Technik“