Pagina 1 van 1

Berichten verwijderen van 1 gebruiker.

Geplaatst: 14 jul 2004, 20:34
door James9944
Kan ik op eenvoudige wijze ALLE berichten van een bepaalde gebruiker verwijderen ?

(liefst EEN druk op de knop :) )

Greetz : James

Geplaatst: 14 jul 2004, 21:02
door Jeanneke
Ik denk dat als je de gebruiker uit de lijst verwijderd, je ook meteen alle berichten van die persoon kwijt bent.
Ik weet niet of dat de bedoeling is?

Geplaatst: 14 jul 2004, 21:26
door christel
Wat Jeanneke zegt klopt niet. Als je een gebruiker verwijderd blijven de posts staan maar verandert de gebruikersnaam in "gast". :wink:

Misschien is er wel een mod voor, geen idee....

Re: Berichten verwijderen van 1 gebruiker.

Geplaatst: 14 jul 2004, 23:12
door Stef
James9944 schreef:Kan ik op eenvoudige wijze ALLE berichten van een bepaalde gebruiker verwijderen ?

(liefst EEN druk op de knop :) )

Greetz : James

Ehm het kan volgensmij wel maar niet met 1 druk op de knop. Dan zal je in de database moeten. En dan weet ik niet zeker of het daar zo gemakkelijk gaat.

Geplaatst: 15 jul 2004, 00:16
door Podium4
Maak een backup van je database voor je deze stappen uitvoert! Als er iets fout gaat kun je niet meer terug zonder dat je een backup hebt. Kijk in de kennisbank hoe je een backup maakt van je db

Ik heb even gekeken hoe die posts nou precies zijn opgeslagen in een phpbb database... en dat valt me nog vies tegen eigenlijk...:

phpbb_topics (topic_poster) hier kan alles uitgehaald worden van de poster, omdat we met een WHERE opdracht kunnen aangeven dat alle posts van userid X wegmoeten...

phpbb_posts (post_id, topic_poster) hiervoor geldt hetzelfde als voor phpbb_topics

phpbb_posts_text (post_id) nu wordt het vervelend. Deze tabel is via post_id gekoppeld aan phpbb_posts. Er staan in deze tabel dus geen user_id gegevens.


Het is gelukkig wel te doen. Om dit uit te voeren heb je in ieder geval je phpmyadmin nodig. Zonder dat wordt het heel lastig.

Allereerst beginnen we makkelijk. We gaan de phpbb_topics tabel ontdoen van alle posts van user_id X (vervang X door user_id, dat is het gebruikersnummer...)
Voer deze querie daarvoor uit:

Code: Selecteer alles

DELETE FROM phpbb_topics WHERE topic_poster =  'X';
Vervang dus X door het gebruikers_id

Nu gaan we verder met het lastige deel. phpbb_posts en phpbb_posts_text moeten ontdaan worden van de posts van user_id X. Allereerst willen we graag weten welke posts in phpbb_posts_text van user_id X zijn, dat kunnen we nu namelijk nog niet zien...

Voer de volgende querie uit om te zien welke post_id's van user_id X zijn. Als we dit weten kunnen we namelijk deze post_id terugvinden in de phpbb_posts_text tabel om zo de posts van user_id X daar ook te verwijderen:

Code: Selecteer alles

SELECT `post_id` , `poster_id` 
FROM `phpbb_posts` 
WHERE `poster_id` = X
Denk er weer aan om X te vervangen met het betreffende user_id.

Zo, dat schiet al op... hier hebben we wat aan. Een hele lijst met post_id die van user_id X zijn.

Wat je nu moet doen is misschien een beetje omslachtig, maar het is volgens mij de enigste methode, open kladblok of een ander text-editor prog, en typ daar alle post_id's neer van user_id X. Typ ze dus gewoon over van je phpmyadmin.

Als je daarmee klaar bent gaan we verder met schoonmaken. Voer de volgende querie uit om je phpbb_posts tabel schoon te maken:

Code: Selecteer alles

DELETE FROM phpbb_posts WHERE poster_id =  'X';
Zo, nu de laatste stap en we zijn klaar :) . Pak het tekstbestandje er weer bij. Aan de hand daarvan gaan we een querie samenstellen om alle spullen van user_id X uit de phpbb_posts_text te halen.

Code: Selecteer alles

DELETE FROM phpbb_posts_text
WHERE post_id =  'post_id';
DELETE FROM phpbb_posts_text
WHERE post_id =  'post_id';
DELETE FROM phpbb_posts_text
WHERE post_id =  'post_id';
DELETE FROM phpbb_posts_text
WHERE post_id =  'post_id';
Vervang nu de laatste 'post_id' van elke onderste regel in een getal uit je tekst bestand... de querie kan daardoor nog veel langer worden dan dit ...

Succes!

Geplaatst: 15 jul 2004, 07:15
door James9944
Inderdaad niet zo makkenlijk. Ik ga het proberen. Alvast bedankt voor de moeite !

Greetz : James