Alle Titel nur in einem einzigen Forum abändern?

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
LuLa
Mitglied
Beiträge: 290
Registriert: 14.02.2004 12:26

Alle Titel nur in einem einzigen Forum abändern?

Beitrag von LuLa »

Hallo zusammen!

Um den Titel (subject) in allen Beiträgen abzuändern, habe ich bislang immer erfolgreich folgende SQL-Befehle angewendet:

Code: Alles auswählen

UPDATE phpbb_posts_text SET post_subject=REPLACE(post_subject, 'SUCHEN', 'ERSETZEN') WHERE post_subject LIKE '%SUCHEN%'
und dann noch
UPDATE phpbb_topics SET topic_title=REPLACE(topic_title, 'SUCHEN', 'ERSETZEN') WHERE topic_title LIKE '%SUCHEN%'
Nun möchte ich in allen Titeln wieder eine Textstelle abändern, diesmal aber nur in den Beiträgen eines einzigen Forums - nicht für das gesamte Board!
Wie bekomme ich das hin? Geht das in einem einzigen SQL-Befehl?
Oder gibt es da etwas als PHP-MOD für den Admin?


LG, LuLa
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: Alle Titel nur in einem einzigen Forum abändern?

Beitrag von gn#36 »

Das ist kompliziert, die Texte und Foren IDs werden nicht in einer Tabelle gespeichert. Je nach SQL Server könnte das hier klappen (auf jeden Fall ein Backup vorher machen verifizieren!):

Code: Alles auswählen

UPDATE phpbb_posts_text SET post_subject=REPLACE(post_subject, 'SUCHEN', 'ERSETZEN') WHERE post_subject LIKE '%SUCHEN%' AND post_id IN 
(SELECT post_id from phpbb_posts WHERE forum_id = {HIER DIE ID EINSETZEN})
Weil das mit subselect arbeitet könnte das u.U. recht langsam sein wenn die Datenbank groß ist.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Benutzeravatar
LuLa
Mitglied
Beiträge: 290
Registriert: 14.02.2004 12:26

Re: Alle Titel nur in einem einzigen Forum abändern?

Beitrag von LuLa »

Ach... das sieht ja einfach aus. Vielen Dank für die Hilfe!
Benutzeravatar
LuLa
Mitglied
Beiträge: 290
Registriert: 14.02.2004 12:26

Re: Alle Titel nur in einem einzigen Forum abändern?

Beitrag von LuLa »

Funktioniert. Nochmals danke. Nach...

Code: Alles auswählen

UPDATE phpbb_posts_text SET post_subject=REPLACE(post_subject, 'SUCHEN', 'ERSETZEN') WHERE post_subject LIKE '%SUCHEN%' AND post_id IN (SELECT post_id from phpbb_posts WHERE forum_id = FORUMID)
muß man dann noch

Code: Alles auswählen

UPDATE phpbb_topics SET topic_title=REPLACE(topic_title, 'SUCHEN', 'ERSETZEN') WHERE topic_title LIKE '%SUCHEN%' AND forum_id = FORUMID
ausführen.
Antworten

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