Pagina 1 van 1

Verwijderde users & hun posts

Geplaatst: 10 apr 2006, 11:04
door Stefandv
Ik moet een forum voor een vriend wat gaan opruimen.
Zij hebben nogal veel verwijderde users, maar die posts blijven achter.

Ik wil deze graag goed en veilig verwijderen.

Dus verwijder je een user dan worden:
- alle topics gestart door de user (en de reacties van andere op dit topic)
- alle reacties van de user geplaatst in andere topics

Mijn vragen zijn, kan dit dus wel,levert het geen problemen op in je forum, is er al een mod voor, en hoe/waar moet ik beginnen

Mijn idee was, eerst alle topics nagaan of de topic starter nog een user is.
Zo nee, topic met alle post verwijderen.
SQL-query:
SELECT *
FROM `forum_topics`
WHERE topic_poster='-1'


Als dat gedaan is dan moeten de overige posts weer worden bekeken of daar de user nog van bestaat.

Geplaatst: 10 apr 2006, 13:39
door Stefandv
Ik ben al weer wat stapjes verder, klein scriptje geschreven, met opmaak print hij dan het onderstaande.

Afbeelding

Als ik uit de topics table, een topic id heb, kan ik dan nu veilig alles verwijderen uit topics table, de posts table en de post text table?

Dit moet toch dan voldoende zijn?
$del = dan de topic die verwijderd moet worden.

Code: Selecteer alles

$sql = "DELETE FROM `".TOPICS_TABLE."` WHERE topic_id='".$del."'";
$sql = "SELECT * FROM `".POSTS_TABLE."` WHERE topic_id='".$del."' ";
$result = $db->sql_query($sql);
while (($posts = $db->sql_fetchrow($result)) )
	{
	$delete_post_table  .="'".$posts[post_id]."', ";
	}
	//print_r($delete_post_table);
$sql = "DELETE FROM `".POSTS_TABLE."` WHERE topic_id in(".$delete_post_table.") ";
$sql = "DELETE FROM `".POSTS_TEXT_TABLE."` WHERE post_id in(".$delete_post_table.") ";
De code van het plaatje bovenaan.

Code: Selecteer alles

$sql = "SELECT * FROM `".TOPICS_TABLE."` WHERE topic_poster='-1'  ";
$result = $db->sql_query($sql);
while (($topic = $db->sql_fetchrow($result)) )
	{
		$first_post_sql = $db->sql_query("SELECT * FROM `".POSTS_TEXT_TABLE."` WHERE `post_id` ='".$topic[topic_first_post_id]."' LIMIT 0 , 1");
		$first_post_result = $db->sql_fetchrow($first_post_sql);
$sql2 = "SELECT * FROM `".POSTS_TABLE."` WHERE topic_id='".$topic[topic_id]."'  ";
		$result2 = $db->sql_query($sql2);
		while (($posts = $db->sql_fetchrow($result2)) )
			{
$post_ids[] =  $posts[post_id];
}
}
ps, we maken geen gebruik van de guest account.

Geplaatst: 14 apr 2006, 09:03
door Stefandv
Niemand die zeker weet of dit geen problemen geeft?

mn test forum levert nog geen problemen op