- Adres van je forum: http://www.bijenhouden.nl http://
Event. modificaties op je forum:
Wanneer ontstond het probleem?
phpBB versie: 3.0.7.-PL1
Heb je onlangs iets veranderd aan je forum?
Wat is het probleem?
Query voor opschonen ledenlijst
Forumregels
phpBB 3.0 is End of support per 1 januari 2017. Dit forum is hier enkel ter archief. Het wordt aangeraden te upgraden naar phpBB 3.2
phpBB 3.0 is End of support per 1 januari 2017. Dit forum is hier enkel ter archief. Het wordt aangeraden te upgraden naar phpBB 3.2
Query voor opschonen ledenlijst
Laatst gewijzigd door Wijo op 26 dec 2012, 09:43, 1 keer totaal gewijzigd.
Met vriendelijke groet,
Wim.
Wim.
Re: Querie voor opschonen ledenlijst
Nee, het is beter om niet rechtstreeks in de database zaken te verwijderen door middel van MySQL queries. Veel gegevens zijn namelijk gekoppeld in meerdere tabellen. Je kunt niet zomaar alleen leden verwijderen uit de users tabel.
Ik twijfel even of 3.0.7-PL1 dezelfde mogelijkheden heeft als de laatste phpBB3 versies wat betreft het automatisch opruimen van leden.
Controleer eens of je het volgende kunt doen:
Welke stijl gebruik je en heb je MOD's geinstalleerd op je forum?
Ik twijfel even of 3.0.7-PL1 dezelfde mogelijkheden heeft als de laatste phpBB3 versies wat betreft het automatisch opruimen van leden.
Controleer eens of je het volgende kunt doen:
- Beheerderspaneel
- GEBRUIKERS EN GROEPEN
- Gebruikers automatisch opruimen
- Kies bij "Geregistreerd:"
Voor
en de datum waarvoor ze geregistreerd moeten hebben - Kies bij "Laatst actief:"
Voor
en de datum waarvoor ze het laatst actief geweest moeten zijn - Kies bij "Berichten:"
Gelijk aan
en "0". - Kies bij "Deactiveren of verwijderen:"
Verwijder
- Klik op
Bevestig
Welke stijl gebruik je en heb je MOD's geinstalleerd op je forum?
HGN op phpbb.com
Re: Querie voor opschonen ledenlijst
Hallo Pola.
bedankt voor je snelle reactie.
De manier zoals jij die beschrijft spreekt me niet aan. De data zijn voor de verschillende deelnemers te verschillend. Ik moet het volgens mij echt met een querie in de database doen. Ik had nu ook al een behoorlijke opruiming gehouden in de database: deelnemers, die 0 berichten hadden en voor 31-12-2010 niet meer het forum hadden bezocht. Ik heb dat in phpbb_users gedaan.
Er zijn deelnemers, die zich ooit een keer geregistreerd hebben, geen berichten hebben geplaatst, maar toch het forum wel bezoeken en dus de berichten lezen. Deze deelnemers wil ik houden. Ik wil alleen de deelnemers nog verwijderen, die zich wel geregistreerd hebben maar daarna eigenlijk het forum niet meer bezocht hebben.
bedankt voor je snelle reactie.
De manier zoals jij die beschrijft spreekt me niet aan. De data zijn voor de verschillende deelnemers te verschillend. Ik moet het volgens mij echt met een querie in de database doen. Ik had nu ook al een behoorlijke opruiming gehouden in de database: deelnemers, die 0 berichten hadden en voor 31-12-2010 niet meer het forum hadden bezocht. Ik heb dat in phpbb_users gedaan.
Er zijn deelnemers, die zich ooit een keer geregistreerd hebben, geen berichten hebben geplaatst, maar toch het forum wel bezoeken en dus de berichten lezen. Deze deelnemers wil ik houden. Ik wil alleen de deelnemers nog verwijderen, die zich wel geregistreerd hebben maar daarna eigenlijk het forum niet meer bezocht hebben.
Met vriendelijke groet,
Wim.
Wim.
Re: Querie voor opschonen ledenlijst
Zoals ik aangaf kunnen de leden nog in diverse andere tabellen voorkomen.
Ze zullen zeker in de phpbb_user_group table staan.
Verder kan het dat ze voorkomen in
phpbb_forums_track
phpbb_forums_watch
phpbb_privmsgs
phpbb_privmsgs_to
phpbb_topics_track
phpbb_topics_watch
phpbb_zebra
Om leden te zoeken die langer dan 90 dagen geleden zich geregistreerd hebben, later dan een week na de regsitratie niet meer op het forum geweest zijn en geen berichten geplaatst hebben, kun je de volgende query gebruiken:
Als user_type 1 is, betekent dat dat het gebruikersaccount niet geactiveerd is. Als user_type 0 is, dan is het een gewoon geactiveerd gebruikersaccount.
Leden die het forum helemaal niet bezocht hebben, hebben een user_last_visit datum van 1 januari 1970 (de start van de UNIXTIME tijdtelling).
Ze zullen zeker in de phpbb_user_group table staan.
Verder kan het dat ze voorkomen in
phpbb_forums_track
phpbb_forums_watch
phpbb_privmsgs
phpbb_privmsgs_to
phpbb_topics_track
phpbb_topics_watch
phpbb_zebra
Om leden te zoeken die langer dan 90 dagen geleden zich geregistreerd hebben, later dan een week na de regsitratie niet meer op het forum geweest zijn en geen berichten geplaatst hebben, kun je de volgende query gebruiken:
Code: Selecteer alles
SELECT user_id, username, user_posts, FROM_UNIXTIME(user_lastvisit), FROM_UNIXTIME(user_regdate), user_type FROM phpbb_users
WHERE user_posts = 0 AND user_type < 2 AND (DATEDIFF(NOW(), FROM_UNIXTIME(user_regdate)) > 90) AND (DATEDIFF(FROM_UNIXTIME(user_lastvisit), FROM_UNIXTIME(user_regdate)) <= 7)
ORDER BY user_regdate ASC
Leden die het forum helemaal niet bezocht hebben, hebben een user_last_visit datum van 1 januari 1970 (de start van de UNIXTIME tijdtelling).
HGN op phpbb.com
Re: Querie voor opschonen ledenlijst
Bedankt Pola voor de uitleg en de querie.
--
Op die manier pik ik er nog 165 leden uit, waarvan ik de meesten er uit wil gooien. Zou je me nog kunnen uitleggen hoe ik dat het beste kan doen?
--
Op die manier pik ik er nog 165 leden uit, waarvan ik de meesten er uit wil gooien. Zou je me nog kunnen uitleggen hoe ik dat het beste kan doen?
Berichten samengevoegd
- Ger
Met vriendelijke groet,
Wim.
Wim.
Re: Query voor opschonen ledenlijst
Maak van de query
Je hebt nu een lijstje met gebruikersnamen die je kan gebruiken in het tabblad gebruikers automatisch opruimen, er van uitgaande dat je WHERE statement klopt.
Code: Selecteer alles
SELECT username FROM phpbb_users
WHERE user_posts = 0 AND user_type < 2 AND (DATEDIFF(NOW(), FROM_UNIXTIME(user_regdate)) > 90) AND (DATEDIFF(FROM_UNIXTIME(user_lastvisit), FROM_UNIXTIME(user_regdate)) <= 7)
ORDER BY user_regdate ASC
Re: Query voor opschonen ledenlijst
Hallo John.
Bedankt. Op deze manier kan ik de deelnemers aanvinken en verwijderen.
Bedankt. Op deze manier kan ik de deelnemers aanvinken en verwijderen.
Met vriendelijke groet,
Wim.
Wim.