Forum overzetten

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
Gesloten
koudekerk
Berichten: 155
Lid geworden op: 09 apr 2004, 16:40
Contacteer:

Forum overzetten

Bericht door koudekerk » 24 apr 2004, 18:30

Hoe kan ik mijn berichten overzetten (dus alleen mijn berichten) naar een ander forum???
http://www.forumfun.nl.tt dat is mijn forum!!!

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 24 apr 2004, 19:08

http://www.phpbb.nl/kb.php?mode=article&k=8
en dan alle andere berichten verwijderen. :?

koudekerk
Berichten: 155
Lid geworden op: 09 apr 2004, 16:40
Contacteer:

Bericht door koudekerk » 24 apr 2004, 22:17

Maar ik wil alleen mijn berichten overzetten en niet mijn hacks en mijn style
http://www.forumfun.nl.tt dat is mijn forum!!!

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 24 apr 2004, 23:04

Dan volg je alleen de database stappen.

Gebruikersavatar
WebmasterX
Berichten: 197
Lid geworden op: 27 mar 2003, 10:13
Locatie: Zutphen
Contacteer:

Bericht door WebmasterX » 25 apr 2004, 00:40

Ik heb een tijdje terug voor mijzelf een script geschreven die dat doet. Het probleem echter is dat je dit script vanuit een shell moet opstarten. In ssh dus.

Wat je eerst moet doen is een nieuwe database aanmaken met een clean install van phpbb. Daarna gooi je alles leeg wat phpbb standaard in je forum gooit tijdens de installatie.

Vervolgens update je je oude database naar de versie van je nieuwe database zodat alle velden overeenkomen.

Als je dat allemaal gedaan hebt voer je dit script uit command line in je ssh

Code: Selecteer alles

#!/usr/bin/php -q
<?php
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

function read ($length='255')
{
  if (!isset ($GLOBALS['StdinPointer']))
  {
     $GLOBALS['StdinPointer'] = fopen ("php://stdin","r");
  }
  $line = fgets ($GLOBALS['StdinPointer'],$length);
  return trim ($line);
}

$dbhost_old = '********';
$dbname_old = '********';
$dbuser_old = '********';
$dbpasswd_old = '********';

$db_old = new sql_db($dbhost_old, $dbuser_old, $dbpasswd_old, $dbname_old, false);
if(!$db_old->db_connect_id)
{
   message_die(CRITICAL_ERROR, "Could not connect to the old database");
}

$new_table_list = $db->sql_fetch_tables();
passthru(clear);

for($i=0;$i<count($new_table_list);$i++)
{
	
	$fields = $db->sql_fetch_fields($new_table_list[$i]);
		
	for($f=0;$f<count($fields);$f++)
	{
		$field_list .= ", ".$fields[$f];
	}

	$sql = "SELECT ".trim($field_list, ", ")." FROM $new_table_list[$i] WHERE 1 ORDER BY ".$fields[0];

	echo "\n\nGet data from: " . $new_table_list[$i] . "\n";
	echo "[yes / no] :";
	
	$go_ahead = read();
	if(strtolower($go_ahead) == "no" || strtolower($go_ahead) == "n")
	{
		unset($go_ahead);
		unset($field_list, $insert_rows, $data, $fields);
		continue;
	} elseif ( strtolower($go_ahead) == "yes" || strtolower($go_ahead) == "y")
	{

	} else {
		$go_ahead = read();
	}

	echo "\n\n";
	echo $sql."\n";
	echo "progres: ";
	sleep(2);	

	$result = $db_old->sql_query($sql);

	if(!($db_old->sql_query($sql)) )
	{
		$error = $db_old->sql_error();
		echo "\n".$error['message']."\n\n";
	}


	$numrows = $db_old->sql_numrows($result);
	while( $row = $db_old->sql_fetchrow($result) )
	{
	
		for($r=0;$r<count($numrows);$r++)
		{
			for($d=0;$d<count($fields);$d++)
			{
				$insert_data .= ", '".addslashes($row[$d])."'";
			}
				
			$sql_new_insert = "INSERT INTO ".$new_table_list[$i]." (".trim($field_list, ", ").") values (".trim($insert_data, ", ").")";
			set_time_limit(60);

			if(!($db->sql_query($sql_new_insert)) )
			{
				$error = $db->sql_error();
				echo "\n".$error['message']."\n\n";
				echo "@";
			}else{
				echo "*";
			}
			
			sleep(0.5);
			unset($insert_data);
		}
		
	}
	flush();
	
	unset($field_list, $insert_rows, $data, $fields);
}

?>
Volg het script en heb geduld bij grote db's, maak voor de zekerheid altijd een back-up van je huidige db.

WebmasterX

koudekerk
Berichten: 155
Lid geworden op: 09 apr 2004, 16:40
Contacteer:

Bericht door koudekerk » 25 apr 2004, 16:58

oke en als ik een backup wil maken van alleen mijn berichten moet ik dan het vakje aanvinken van structuur en data??
http://www.forumfun.nl.tt dat is mijn forum!!!

Gebruikersavatar
WebSiteNet
Berichten: 6524
Lid geworden op: 20 okt 2003, 16:56
Locatie: Wieringerwerf
Contacteer:

Bericht door WebSiteNet » 25 apr 2004, 17:42

De structuur is is de query die de tabel zelf maakt en de data alles wat er in staat. Als je alleen de berichten wilt hebben moet data genoeg zijn.

koudekerk
Berichten: 155
Lid geworden op: 09 apr 2004, 16:40
Contacteer:

Bericht door koudekerk » 25 apr 2004, 18:23

ik kan het maar niet vinden met de host maltastart?
http://www.forumfun.nl.tt dat is mijn forum!!!

Gesloten