Seite 1 von 1

Suche Script zum Auslesen der Beiträge aus Datenbank

Verfasst: 29.12.2005 14:48
von Demidrin
Hallo Allerseits!

Ich weiß net ob das hier das richtige Forum dafür ist, aber ich hab trotz Suche dazu nichts gefunden:

Ich brauche ein Script, dass die Beiträge (phpBB 2) von bestimmten Topics mit Nickname und Text irgendwie lesbar wieder gibt, also in einer Worddatei, Textdatei oder wie auch immer (also ein Backup von Topics, das aber vernünftig lesbar ist)...

Ich muß nämlich aus Gründen von beschränktem Webspace die Topics, die bei bei mir bis zu 188 Seiten lang sind, löschen.
Klar, ich hab schon ein Datenbank - Backup gemacht... Aber das bringt den anderen Forumsmitgliedern herzlich wenig, weil sie daraus nichts entnehmen können.
Diese Topics werden immer noch gebraucht um was nachzulesen.

Gibt es also irgendwo ein vorhandenes Script? Ich hab leider nicht so die Zeit, mir eins selbst zusammen zu basteln, da ich fast kein PHP beherrsche...

Folgendes ist bei mir vorhanden:

Webspace PHP fähig
Mysql Datenbank
phpmyAdmin
phpBB2 - Vers. 2.0.11
phpBB2 - Vers. 2.0.3

Mfg Demidrin

Verfasst: 06.01.2006 18:13
von Demidrin
Mmhh... Hat keiner ne Ahnung?

Weiß denn jemand, wo ich sowas finden könnte? Bzw. wo ich noch fragen könnte?

Verfasst: 06.01.2006 19:08
von fanrpg

Code: Alles auswählen

<?php
define('IN_PHPBB', true);
$phpbb_root_path . './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'includes/bbcode.'.$phpEx);

$userdata = session_pagestart($user_ip, PAGE_INDEX); 
init_userprefs($userdata);

$gen_simple_header = true;
$page_title = 'Themen aus der DB Laden';
include($phpbb_root_path . 'includes/page_header.'.$phpEx);

if(isset($_POST['submit']) or isset($_GET['id']))
{ 
	$topic_id = ( !empty($HTTP_GET_VARS['id']) ) ? intval($HTTP_GET_VARS['id']) : intval($HTTP_POST_VARS['id']);
	$sql = "SELECT t.*, u.*, p.*, pt.* FROM `".TOPICS_TABLE."` t, `".USERS_TABLE."` u, `".POSTS_TABLE."` p, `".POSTS_TEXT_TABLE."` pt
	        WHERE p.poster_id = u.user_id
			AND t.topic_poster = u.user_id
			AND t.topic_poster = p.poster_id
			AND p.topic_id = t.topic_id
			AND pt.post_id = p.post_id
			AND t.topic_id = $topic_id
			ORDER BY p.post_id ASC";	
	if( !( $result = $db->sql_query($sql) ) )
	{
		message_die(CRITICAL_ERROR, 'Kann Themen Informationen nicht laden!', '', __LINE__, __FILE__, $sql);
	}		
	while($row = $db->sql_fetchrow($result))
	{
		echo '<b>Threadname: '.$row['topic_title'].' Name des Posters: '.$row['username'].' Uhrzeit: '.date("d.m.Y H:i", $row['post_time']).'</b><br /><br />';
		$message = bbencode_second_pass($row['post_text'], $row['bbcode_uid']);
		$message = nl2br($message);
		echo $message;
		echo '<hr />';
	}
}		      


include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
Versuch das mal.
Die Topic ID muss per GET übetragen werdeb also filename.php?id=TOPIC_ID

Verfasst: 06.01.2006 19:12
von Demidrin
Ohhh herzlichen Dank!! :)

Ich werd das, sobald ich Zeit habe, mal ausprobieren!

Mfg Demidrin

Verfasst: 06.01.2006 19:30
von Pyramide
Du könntest auch einfach temporär die Anzahl der Beiträge pro Seite im ACP so hoch setzen, daß alles auf einer Seite angezeigt wird. Das ganze kannst du dann über die "Seite speichern unter" Funktion deines Browsers als normale HTML-Datei abspeichern. Das hat dann den Vorteil, daß das Layout genau das gleiche ist wie im normalen Forum (also inkl. Avatare usw.), du aber nichts umprogrammieren musst.

Verfasst: 06.01.2006 19:38
von Demidrin
MMhhh... Daran hab ich noch nicht gedacht...

Aber mir ist die Version von fanrpg lieber, da nur das nötigste dort angezeigt wird, so ist es wirklich super... Hab die HTML Daten noch ein wenig verändert und nun kann ich das einfach makieren und in Word Dateien speichern...

Danke nochmal! @fanrpg

Mfg Demidrin

Verfasst: 06.01.2006 19:39
von fanrpg
Pyramide hat geschrieben:Du könntest auch einfach temporär die Anzahl der Beiträge pro Seite im ACP so hoch setzen, daß alles auf einer Seite angezeigt wird. Das ganze kannst du dann über die "Seite speichern unter" Funktion deines Browsers als normale HTML-Datei abspeichern. Das hat dann den Vorteil, daß das Layout genau das gleiche ist wie im normalen Forum (also inkl. Avatare usw.), du aber nichts umprogrammieren musst.
http://www.phpbb.de/viewtopic.php?p=624374#624374
Wenn ich das mit diesem Thema versuche sendet der Server mir nen 500er.
Mit meinem Snippet nicht :D

Verfasst: 06.01.2006 23:35
von Demidrin

Code: Alles auswählen

   $sql = "SELECT t.*, u.*, p.*, pt.* FROM `".TOPICS_TABLE."` t, `".USERS_TABLE."` u, `".POSTS_TABLE."` p, `".POSTS_TEXT_TABLE."` pt
           WHERE p.poster_id = u.user_id
         AND t.topic_poster = u.user_id
         AND t.topic_poster = p.poster_id
         AND p.topic_id = t.topic_id
         AND pt.post_id = p.post_id
         AND t.topic_id = $topic_id
         ORDER BY p.post_id ASC";   
Hier kann glaub ich was net stimmen... Auf jeden Fall zeigt er mir nur die Beiträge vom Topic - Starter an... Alle anderen Beiträge tauchen da net auf...

Ich schau da nicht ganz durch... Wo liegt da der Fehler?

Mfg Demidrin

P.S.: War wohl müde... Hab's gefunden... Das darf net da rein:

Code: Alles auswählen

        AND t.topic_poster = u.user_id
         AND t.topic_poster = p.poster_id