Seite 1 von 1

Einer Gruppe einen Spezialrang per sql command zuweisen.

Verfasst: 19.09.2008 01:54
von dkarusell
Hallo,

Kurz: Allen Membern einer Gruppe per sql command einen Spezialrang zuweisen.

Lange Version:

Mein Problem sieht folgendermaßen aus...

Ich habe eine Gruppe und alle Mitglieder dieser Gruppe haben eine Spezialrang ( Erstsemestler).
Jetzt möchte ich aber diesen Spezialrang(Erstsemestler) durch einen anderen ersetzten (Zweitsemesteler) und die Leute die sich nun anmelden den Erstsemestler rang später zuweisen...

In der Vergangenheit habe ich dies auch schon mit sql command gemacht, leider habe ich diesen Vergessen... bzw. ich krieg ihn nicht mehr hin..

Kann mir da jemand von euch helfen?

vielen dank im vorraus


ps: Ich bin mir leider nicht ganz sicher ob dies das richtige Forum dafür ist, wenn es das Falsche ist bitte ich dies zu entschuldigen...

Verfasst: 19.09.2008 04:58
von gn#36
Das Forum passt denke ich ganz gut. Der Befehl wird aber ein bisschen komplexer weil Daten aus mehreren Tabellen gebraucht werden, eventuell läuft er auch gar nicht wenn die Datenbank zu alt ist, dann musst du ein Skript benutzen dass den Befehl dann in zwei einfachen Schritten ausführen kann.

Erst mal musst du die ID des Rangs rausfinden den du vergeben willst. Dazu in die Tabelle phpbb_ranks schauen.

Dann brauchst du die ID der Gruppe in der du die Änderung machen willst, die kannst du auslesen indem du im Forum zur Gruppe navigierst und in der Adresszeile nachsiehst.

Dann kommt der SQL Befehl:

Code: Alles auswählen

UPDATE
	phpbb_users
SET
	user_rank = {ID des RANGS}
WHERE
	user_id IN(
	SELECT user_id FROM phpbb_user_group WHERE group_id = {ID der GRUPPE}
	);
Und bitte die Datenbank vorher sichern!

Verfasst: 19.09.2008 11:42
von dkarusell
Gibt diesen Fehler aus:

Code: Alles auswählen

UPDATE phpbb_users SET user_rank = {4} WHERE user_id IN (

SELECT user_id
FROM phpbb_user_group
WHERE group_id = {109}
) 

MySQL said:  

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '4}
WHERE
   user_id IN(
   SELECT user_id FROM phpbb_user_group WHERE group_i' at line 4
Hier habe ich die Group id her:

Code: Alles auswählen

groupcp.php?sid=321a7c7ef651064eef93d96f1514cfcf&g=109

Verfasst: 19.09.2008 15:13
von S2B
ohne die { } :wink:

Verfasst: 19.09.2008 16:34
von dkarusell
S2B hat geschrieben:ohne die { } :wink:
oha ^^ vielen dank

funzt nun wunderbar!