Suche Script zum Auslesen der Beiträge aus Datenbank

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Demidrin
Mitglied
Beiträge: 28
Registriert: 27.08.2004 21:47

Suche Script zum Auslesen der Beiträge aus Datenbank

Beitrag 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
Demidrin
Mitglied
Beiträge: 28
Registriert: 27.08.2004 21:47

Beitrag von Demidrin »

Mmhh... Hat keiner ne Ahnung?

Weiß denn jemand, wo ich sowas finden könnte? Bzw. wo ich noch fragen könnte?
fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

Beitrag 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
Demidrin
Mitglied
Beiträge: 28
Registriert: 27.08.2004 21:47

Beitrag von Demidrin »

Ohhh herzlichen Dank!! :)

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

Mfg Demidrin
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag 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.
KB:knigge
Demidrin
Mitglied
Beiträge: 28
Registriert: 27.08.2004 21:47

Beitrag 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
fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

Beitrag 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
Demidrin
Mitglied
Beiträge: 28
Registriert: 27.08.2004 21:47

Beitrag 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
Antworten

Zurück zu „Coding & Technik“