topics allemaal naar 1 forum.

Installatie lukt niet? Plotseling een foutmelding. Of weet je niet hoe iets werkt. Problemen met phpBB2 kun je in dit archief opzoeken.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 12 apr 2005, 15:55

Hij gaf geen error bij het script en je hebt alle topics/posts overgezet van de ene tabel naar de andere?

//EDIT: niet zo slim van me om de polls niet mee te pakken... heb het aangepast, hopelijk heb je der iets aan.
Afbeelding

Gebruikersavatar
LazyTiger
Berichten: 2000
Lid geworden op: 21 okt 2003, 18:21

Bericht door LazyTiger » 12 apr 2005, 16:46

nja de polls heb ik zelf al zo'n beetje opgelost ;)
maar waarom pakt hij niet alle topics!?

Gebruikersavatar
jh0nny
Berichten: 943
Lid geworden op: 11 mar 2004, 20:05
Contacteer:

Bericht door jh0nny » 12 apr 2005, 17:49

Ik zou dit ook wel eens nodig kunnen hebben, vraag me alleen af hoe dat script op de vorige pagina in zijn werk gaat.

Ik zie daar de oude prefix staan en welke categorie, gaat het dan om de categorie van het forum waar het naar toe gaat? .. en oude prefix is dan het forum vanwaar de berichten moeten gaan ofzo?
Ik zie blijkbaar iets over het hoofd want ik zie nergens het 2e prefix die je in moet vullen om de boel daarin te laten komen of begrijp ik het helemaal verkeerd? :D
Barki.nl

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 12 apr 2005, 18:42

Je zet dat script in de map van je nieuwe (of waar het heen moet) forum.
Het andere forum waarvan alle tabellen in 1 forum moeten komen moet in dezelfde database staan, alleen een andere prefix.
Als het goed is moeten nadat je het uitgevoerd hebt alle topics/posts/polls (nu ook) aangepast zijn qua id's, je moet dan de inhoud van al de hele (oude) tabellen exporteren en importeren met de nieuwe prefix. Na wat resync's zou het dan goed moeten zijn, de gebruikers moeten wel dezelfde zijn (dus die tabel moet gedeeld zijn).

Het werkt nog niet helemaal, ik ben er nog wat aan het knutselen.
Afbeelding

Gebruikersavatar
LazyTiger
Berichten: 2000
Lid geworden op: 21 okt 2003, 18:21

Bericht door LazyTiger » 12 apr 2005, 20:14

hoe zit het met de database tabellen van search?
moet je die ook overtransporteren om zoeken goed te maken?

Gebruikersavatar
LazyTiger
Berichten: 2000
Lid geworden op: 21 okt 2003, 18:21

Bericht door LazyTiger » 12 apr 2005, 21:14

zojuist even even de mod "db maintenance" geinstalleerd en uitgevoerd... pff, krachtige mod, alles opgelost nu ;)

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 12 apr 2005, 22:20

Ik heb mijn hele mod herschreven. Misschien telaat voor jouw LazyTiger maar voor andere wel nog nuttig.

De rijen worden nu vanzelf overgeplaatst, je hoeft maar 2 dingen aan te passen in het bestand (prefix 'oude' database en het forum_id waar alles in moet). Backup vantevoren maken is toch nog steeds zeer aanbevolen!
Pagina wordt om de 100 topic vernieuwd (kreeg namelijk een error dat het telang duurde bij het testen), je kan dit eventueel nog verlagen als je ook die error krijgt.

Voorwaarde is dat de 2 forums op dezelfde database draaien, alleen een andere prefix en dat beide fora dezelfde user's tabel gebruiken, anders krijg je niet alle topics te zien en klopt de naam niet meer.

:arrow: http://www.esaclan.com/merge.php.txt
Kopieeren en opslaan als merge.php, in de map van het forum waar het heen moet zetten.
Afbeelding

Gebruikersavatar
jh0nny
Berichten: 943
Lid geworden op: 11 mar 2004, 20:05
Contacteer:

Bericht door jh0nny » 13 apr 2005, 08:41

Het werkt opzich wel goed hoor, een probleempje is wel dat de topics niet op datum teruggezet worden, ook niet na een resync via admin panel. :D
Barki.nl

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 13 apr 2005, 09:02

Inderdaad zie het nu ook pas, in viewforum worden ze geordend op het laatste post_id. NOg eens even over denken hoe ik dat op kan lossen.
Afbeelding

Gebruikersavatar
jh0nny
Berichten: 943
Lid geworden op: 11 mar 2004, 20:05
Contacteer:

Bericht door jh0nny » 13 apr 2005, 10:00

Luuk schreef:Inderdaad zie het nu ook pas, in viewforum worden ze geordend op het laatste post_id. NOg eens even over denken hoe ik dat op kan lossen.
Dit kun jij denk ik niet doen, wat het makkelijkste is, is gewoon alle categorieën van de vorige phpbb forum samengooien in 1, dan staan ze automatisch gesorteerd en deze dan exporteren. :D
Barki.nl

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 13 apr 2005, 10:39

Als je dit doet bij het "nieuwe" forum, in viewforum.php is het ook opgelost. Waarom sorteert ie op id en niet op tijd? Naja, nu dus wel.
Zoek 1e keer

Code: Selecteer alles

t.topic_last_post_id DESC
vervang met

Code: Selecteer alles

p.post_time DESC
Zoek 2e keer

Code: Selecteer alles

t.topic_last_post_id DESC
vervang met

Code: Selecteer alles

p2.post_time DESC
Afbeelding

Gebruikersavatar
jh0nny
Berichten: 943
Lid geworden op: 11 mar 2004, 20:05
Contacteer:

Bericht door jh0nny » 13 apr 2005, 14:10

Ik krijg deze foutmelding die verwijst naar die 2e aanpassing die ik moest doen. :bier:
Could not obtain topic information

DEBUG MODE

SQL Error : 1109 Unknown table 'p2' in order clause

SELECT t.*, u.username, u.user_id, u2.username as user2, u2.user_id as id2, p.post_time, p.post_username FROM phpbb_topics t, users u, phpbb_posts p, users u2 WHERE t.forum_id = 16 AND t.topic_poster = u.user_id AND p.post_id = t.topic_last_post_id AND p.poster_id = u2.user_id AND t.topic_type = 2 ORDER BY p2.post_time DESC

Line : 395
File : /home/virtual/site73/fst/var/www/html/forums/viewforum.php
Barki.nl

Gebruikersavatar
LazyTiger
Berichten: 2000
Lid geworden op: 21 okt 2003, 18:21

Bericht door LazyTiger » 13 apr 2005, 14:42

is het niet pt?

Gebruikersavatar
jh0nny
Berichten: 943
Lid geworden op: 11 mar 2004, 20:05
Contacteer:

Bericht door jh0nny » 13 apr 2005, 15:12

Dat werkte ook niet, hiermee gaat alles helemaal door elkaar, in alle categorieën. :D
Barki.nl

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 13 apr 2005, 15:37

Hmm, misschien heb je dan nog een andere mod geinstalleerd (global announcements ofzo) zodat je nog een querrie ervoor hebt.

De eerste hoort bij de querrie waar boven staat

Code: Selecteer alles

//
// All announcement data, this keeps announcements
// on each viewforum page ...
//
en de tweede

Code: Selecteer alles

//
// Grab all the basic data (all topics except announcements)
// for this forum
//
Afbeelding

Gebruikersavatar
jh0nny
Berichten: 943
Lid geworden op: 11 mar 2004, 20:05
Contacteer:

Bericht door jh0nny » 13 apr 2005, 16:01

Tsja bij die laatste heb ik dus heel andere dingen staan:

Code: Selecteer alles

//
// Grab all the basic data (all topics except announcements)
// for this forum
//
$sql = "SELECT t.*, u.username, u.user_id, u2.username as user2, u2.user_id as id2, p.post_username, p2.post_username AS post_username2, p2.post_time 
	FROM " . TOPICS_TABLE . " t, " . USERS_TABLE . " u, " . POSTS_TABLE . " p, " . POSTS_TABLE . " p2, " . USERS_TABLE . " u2
	WHERE t.forum_id = $forum_id
		AND t.topic_poster = u.user_id
		AND p.post_id = t.topic_first_post_id
		AND p2.post_id = t.topic_last_post_id
		AND u2.user_id = p2.poster_id 
		AND t.topic_type <> " . POST_ANNOUNCE . " AND t.topic_type <> " . POST_GLOBAL_ANNOUNCE . "
		$limit_topics_time
	ORDER BY t.topic_type DESC, $order_by 
	LIMIT $start, ".$board_config['topics_per_page'];
	
if ( !($result = $db->sql_query($sql)) )
{
   message_die(GENERAL_ERROR, 'Could not obtain topic information', '', __LINE__, __FILE__, $sql);
}

$total_topics = 0;
while( $row = $db->sql_fetchrow($result) )
{
	$topic_rowset[] = $row;
	$total_topics++;
}

$db->sql_freeresult($result);
Barki.nl

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 13 apr 2005, 17:20

Wat is $order_by?
Afbeelding

Gebruikersavatar
jh0nny
Berichten: 943
Lid geworden op: 11 mar 2004, 20:05
Contacteer:

Bericht door jh0nny » 13 apr 2005, 17:29

Geen idee, laat ik maar eerlijk zijn. :lol:
Ik heb nu iets aangepast en daardoor staat alles nu goed .. dacht ik. ;)
Enige probleem is dat de sticky topics nu gewoon op datum tussen de normale topic staan ipv bovenaan de categorie blijven staan.

Dus zeg maar:

Regelement (hoort boven)
--------
Topic 1
Topic 2
Topic 4
Topic 3
---------
Sticky van die datum, bij posting daarin gaat ie ook gewoon omhoog
---------
Topic 5
enz. enz. 8) ... het heeft opzich wel wat, valt wel lekker op.
Barki.nl

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 13 apr 2005, 17:30

Ja maar daar waren de sticky's niet voor :P
Je moet eerst sorteren op topic_type, dus eerst
ORDER BY t.topic_type DESC en daarna pas waar jij op hebt gesorteerd.
Afbeelding

Gebruikersavatar
jh0nny
Berichten: 943
Lid geworden op: 11 mar 2004, 20:05
Contacteer:

Bericht door jh0nny » 13 apr 2005, 17:45

Ik zag het ja, ik heb alleen absoluut geen php kennis dus het is altijd een kwartier kijken en proberen voordat er resultaat is, maar ... het is gelukt. :D

Code: Selecteer alles

$sql = "SELECT t.*, u.username, u.user_id, u2.username as user2, u2.user_id as id2, p.post_username, p2.post_username AS post_username2, p2.post_time 
	FROM " . TOPICS_TABLE . " t, " . USERS_TABLE . " u, " . POSTS_TABLE . " p, " . POSTS_TABLE . " p2, " . USERS_TABLE . " u2
	WHERE t.forum_id = $forum_id
		AND t.topic_poster = u.user_id
		AND p.post_id = t.topic_first_post_id
		AND p2.post_id = t.topic_last_post_id
		AND u2.user_id = p2.poster_id 
		AND t.topic_type <> " . POST_ANNOUNCE . " AND t.topic_type <> " . POST_GLOBAL_ANNOUNCE . "
		$limit_topics_time
	ORDER BY t.topic_type DESC, p2.post_time DESC, $order_by
	LIMIT $start, ".$board_config['topics_per_page'];
Barki.nl

Gesloten