MyBB.de Forum
Beiträge aus bestimmtem Forum auf externer Seite anzeigen - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Plugin-Diskussionen (https://www.mybb.de/forum/forum-38.html)
+--- Thema: Beiträge aus bestimmtem Forum auf externer Seite anzeigen (/thread-1792.html)

Seiten: Seiten: 1 2 3 4 5 6 7 8 9 10


RE: Beiträge aus bestimmtem Forum auf externer Seite anzeigen - StefanT - 29.10.2007

Ich würde im Forum nicht HTML aktivieren. Dafür ist das zu unsicher. Versuche doch den Code vom BBCoder-Parser des MyBBs zu übernehmen. Da muss man gar nicht so viel ändern.
Dein Ansatz ist richtig. Du musst aus der Tabelle "mybb_posts" die "message" von der gewünschten "pid" auslesen.


RE: Beiträge aus bestimmtem Forum auf externer Seite anzeigen - krafdi - 29.10.2007

Phenom schrieb:Oder wie wäre es, wenn ich im Forum einstelle, dass man HTML nutzen kann. Dann müsste man die Formatierungen manuell per HTML vornehmen, aber dann würde es auch so in der Datenbank stehen, oder?
Wenn ich dich richtig verstehe soll dieses Forum nur von dir genutzt werden als CMS Ersatz. Wenn also nur du Schreib rechte hast sollte es keine Probleme geben.


RE: Beiträge aus bestimmtem Forum auf externer Seite anzeigen - Phenom - 29.10.2007

@Dragon: Hm, ich versuch mich mal an einem Script. Mein Ergebnis zeig ich dann morgen, da ich aber bisher nicht sonderlich viel Erfahrung damit habe, siehts wohl schlecht aus, dass was draus wird. Aber ich poste es morgen trotzdem mal. Smile

krafdi schrieb:
Phenom schrieb:Oder wie wäre es, wenn ich im Forum einstelle, dass man HTML nutzen kann. Dann müsste man die Formatierungen manuell per HTML vornehmen, aber dann würde es auch so in der Datenbank stehen, oder?
Wenn ich dich richtig verstehe soll dieses Forum nur von dir genutzt werden als CMS Ersatz. Wenn also nur du Schreib rechte hast sollte es keine Probleme geben.
Ja, so soll es eigentlich sein. Smile

Ich hab im Internet einen weiteren Parser für den BBCode gefunden. Könnte der mir dann evtl. weiterhelfen?

PHP-Code:
function bb_decode($data) {

        
$data htmlspecialchars($data);

        
$offset 0;
        while((
$pos strpos($data'[noparse]'$offset)) !== false) {

            
$end strpos($data'[/noparse]'$pos);

            if(
$end === false) break;

            
$noparse substr($data$pos 9$end - ($pos 9));
            
$noparse str_replace(array('['']'), array('['']'), $noparse);

            
$end += 10;

            
$data substr_replace($data$noparse$pos$end $pos);

            
$offset $end;
        }

        
$search[] = '[b]';
        
$search[] = '[/b]';
        
$search[] = '[i]';
        
$search[] = '[/i]';
        
$search[] = '[u]';
        
$search[] = '[/u]';
        
$search[] = '[/color]';
        
$search[] = '[/size]';
        
$search[] = '[/font]';
        
$search[] = '[highlight]';
        
$search[] = '[/highlight]';

        
$replace[] = '<strong>';
        
$replace[] = '</strong>';
        
$replace[] = '<i>';
        
$replace[] = '</i>';
        
$replace[] = '<u>';
        
$replace[] = '</u>';
        
$replace[] = '</font>';
        
$replace[] = '</font>';
        
$replace[] = '</font>';
        
$replace[] = '<span class="highlight">';
        
$replace[] = '</span>';

        
$data str_replace($search$replace$data);

        
$search = array();
        
$replace = array();

        
$search[] = '/\[color=(.*?)\]/';
        
$search[] = '/\[size=(.*?)\]/';
        
$search[] = '/\[font=(.*?)\]/';
        
$search[] = '/\[email\](.*?)\[\/email\]/';
        
$search[] = '/\[email=(.*?)\](.*?)\[\/email\]/';
        
$search[] = '/\[url\](.*?)\[\/url\]/';
        
$search[] = '/\[url=(.*?)\](.*?)\[\/url\]/';

        
$search[] = '/\[img\](.*?)\[\/img\]/';

        
$replace[] = '<font color="${1}">';
        
$replace[] = '<font size="${1}">';
        
$replace[] = '<font face="${1}">';
        
$replace[] = '<a href="mailto:${1}">${1}</a>';
        
$replace[] = '<a href="mailto:${1}">${2}</a>';
        
$replace[] = '<a href="${1}">${1}</a>';
        
$replace[] = '<a href="${1}">${2}</a>';
        
$replace[] = '<img src="${1}" />';

        
$data preg_replace($search$replace$data);

        
$offset 0;
        while(
strpos($data'[list]'$offset) !== false) {

            
$pos strpos($data'[list]'$offset);
            
$end strpos($data'[/list]'$pos);

            if(
$end === false) break;

            
$list trim(substr($data$pos 6$end - ($pos 6)));

            
$elements explode('[*]'$list);
            
$list '<ul>';

            for(
$i 1$i count($elements); $i++) {

                
$list .= '<li>'.nl2br(rtrim($elements[$i])).'</li>';
            }

            
$list .= '</ul>';

            
$end += 7;
            
$offset $end;

            
$data substr_replace($data$list$pos$end $pos);
        }


        
$offset 0;
        while(
strpos($data'[list='$offset) !== false) {

            
$pos strpos($data'[list='$offset);
            
$pos2 strpos($data']'$pos 6);

            
$type substr($data$pos 6$pos2 - ($pos 6));

            
$end strpos($data'[/list]'$pos2);

            if(
$end === false) break;

            
$list trim(substr($data$pos2 1$end - ($pos2 1)));

            
$elements explode('[*]'$list);
            
$list '<ol type="'.$type.'">';

            for(
$i 1$i count($elements); $i++) {

                
$list .= '<li>'.nl2br(rtrim($elements[$i])).'</li>';
            }

            
$list .= '</ol>';

            
$end += 7;
            
$offset $end;

            
$data substr_replace($data$list$pos$end $pos);
        }

        
$data nl2br($data);

        
$offset 0;
        while((
$pos strpos($data'[code]'$offset)) !== false) {

            
$end strpos($data'[/code]'$pos);

            if(
$end === false) break;

            
$code substr($data$pos 6$end - ($pos 6));

            
$strlen strlen($code) + 13;

            
$code '<pre>'.str_replace(''''$code).'</pre>';

            
$end += 7;

            
$offset $end - ($strlen strlen($code));

            
$data substr_replace($data$code$pos$end $pos);
        }

        return 
$data;
    } 



RE: Beiträge aus bestimmtem Forum auf externer Seite anzeigen - Phenom - 30.10.2007

Guten Morgen. Smile
Tut mir Leid wegen dem Doppelpost.

Ich hab mir gestern Abend den Code von Seite 3 angeschaut, und das für mich wichtige kopiert. Nun hab ich versucht selber (mithilfe von einem Tutorial) eine Datenbank abfrage zu machen. Leider hat es nicht geklappt.
Ich weis nämlich nicht, wie ich den Text von einem bestimmten Thread lesen kann. Zum Beispiel von Thread 16. Smile

(Hier der Code.)
PHP-Code:
<?php
// Daten für Verbindung zur Datenbank
$dbhost "Localhost";
$dbuser " ***** ";
$dbpassword " ***** ";
$dbdatabase " ***** ";

// Präfix
$prefix "mybb_";

// URL zum Forum
$url "http://www.monk.ja-nee.de/myBB";

// Verbindung zur Datenbank aufnehmen
$db mysql_connect($dbhost,$dbuser,$dbpassword) or die ("Verbindung fehlgeschlagen");
mysql_select_db($dbdatabase,$db);

//Abfrage der Datenbank
$abfrage "SELECT message FROM mybb_posts";
$ergebnis mysql_query($abfrage);

//Ausgabe des Feldes
while($row mysql_fetch_object($ergebnis))
    {
    echo 
$row->url;
    }


?>



RE: Beiträge aus bestimmtem Forum auf externer Seite anzeigen - StefanT - 30.10.2007

PHP-Code:
<?php
// Daten für Verbindung zur Datenbank
$dbhost "Localhost";
$dbuser " ***** ";
$dbpassword " ***** ";
$dbdatabase " ***** ";

// Präfix
$prefix "mybb_";

// URL zum Forum
$url "http://www.monk.ja-nee.de/myBB";

// Verbindung zur Datenbank aufnehmen
$db mysql_connect($dbhost,$dbuser,$dbpassword) or die ("Verbindung fehlgeschlagen");
mysql_select_db($dbdatabase,$db);

//Abfrage der Datenbank
$abfrage "SELECT message FROM {$prefix}posts WHERE tid=16";
$ergebnis mysql_query($abfrage);

//Ausgabe des Feldes
while($row mysql_fetch_object($ergebnis))
    {
    echo 
$row['message'];
    }
?>
Das sollte funktionieren, doch solltest du mit der pid arbeiten. Das wäre besser.


RE: Beiträge aus bestimmtem Forum auf externer Seite anzeigen - Phenom - 30.10.2007

@Dragon: Dankeschön! Smile
Ich hab das jetzt einmal so ausprobiert, mit der TID=16, da kam nur eine weiße Seite ohne Quelltext raus. Dann habe ich TID=16 durch PID=23 ersetzt und es kam erneut eine weiße Seite raus. Wo liegt da der Fehler? Smile


RE: Beiträge aus bestimmtem Forum auf externer Seite anzeigen - Garlant - 30.10.2007

Hallo Phenom,
bitte setze an den Anfang der datei folgendes und Poste die Fehlermeldungen, wenn vorhanden.

PHP-Code:
error_reporting(E_ALL); 

btw. versuche folgendes
Ersetze:
PHP-Code:
while($row mysql_fetch_object($ergebnis))
    {
    echo 
$row['message'];
    } 
durch:
PHP-Code:
while($row mysql_fetch_object($ergebnis))
    {
    
$posts[] = $row;
    }

if(
is_array($posts))
{
    foreach(
$posts as $message)
    {
        print(
$message["message"]."<br />");
    }


Mfg Garlant


RE: Beiträge aus bestimmtem Forum auf externer Seite anzeigen - Phenom - 30.10.2007

Hallo Garlant!

zur Fehlermeldung:
Wenn ich das nun oben einfüge, dann kommt erneut eine Leere Seite, ohne Inhalt und ohne Quelltext. Smile

zu deinem PHP-Code:
Wenn ich das nun ersetze, kommt auch eine leere Seite, wobei im Quelltext aber nur folgendes steht:
Code:
<br />
Könnte das heißen, dass das Feld "message" leer ist?


EDIT (13:41Uhr):
So, ich sitze jetzt schon seit heute Früh dran. Ich hab verschiedene Dinge versucht, die ich mit meinen geringen Kenntnissen kenne, hat aber alles nicht funktioniert. Ich hab auch statt TID einfach mal PID probiert, und jeweils verschiedene Zahlen, von denen ich 100pro weiß, dass es so eine TID oder PID gibt, doch funktioniert hat es trotzdem nicht ... Sad
'Schuldigung das ich nerve, aber hat den niemand eine Idee wo das Problem liegen könnte?
Das Script sieht moment wie folgt aus:
PHP-Code:
<?php

error_reporting
(E_ALL);

// Daten für Verbindung zur Datenbank
$dbhost "Localhost";
$dbuser "*****";
$dbpassword "*****";
$dbdatabase "*****";

// Präfix
$prefix "mybb_";

// URL zum Forum
$url "http://www.monk.ja-nee.de/myBB";

// Verbindung zur Datenbank aufnehmen
$db mysql_connect($dbhost,$dbuser,$dbpassword) or die ("Verbindung fehlgeschlagen");
mysql_select_db($dbdatabase,$db);

//Abfrage der Datenbank
$abfrage "SELECT message FROM {$prefix}posts WHERE pid=1";
$ergebnis mysql_query($abfrage);

//Ausgabe des Feldes
while($row mysql_fetch_object($ergebnis))
    {
    
$posts[] = $row;
    }

if(
is_array($posts))
{
    foreach(
$posts as $message)
    {
        print(
$message["message"]."<br />");
    }
}
?>

Hab bereits selber versucht aus dem Code schlau zu werden, aber kann irgendwie nicht nachvollziehen, warum er nur eine leere Seite ausgibt. Sad


RE: Beiträge aus bestimmtem Forum auf externer Seite anzeigen - Michael - 31.10.2007

Der folgende Code ist getestet und funktioniert. Ersetze x im Query durch die ID des Themas (tid).
PHP-Code:
<?php
// Daten für Verbindung zur Datenbank
$dbhost "localhost";
$dbuser "";
$dbpassword "";
$dbdatabase "";

// Präfix
$prefix "mybb_";

// URL zum Forum
$url "http://www.monk.ja-nee.de/myBB";

// Verbindung zur Datenbank aufnehmen
$db mysql_connect($dbhost,$dbuser,$dbpassword) or die ("Verbindung fehlgeschlagen");
mysql_select_db($dbdatabase,$db);

// Abfrage der Datenbank
$abfrage "SELECT message FROM {$prefix}posts WHERE tid='x' ORDER BY pid ASC";
$ergebnis mysql_query($abfrage);

// Ausgabe des Feldes
while($row mysql_fetch_array($ergebnis)) {
    echo 
$row['message'];
}
?>



RE: Beiträge aus bestimmtem Forum auf externer Seite anzeigen - StefanT - 31.10.2007

Ersetze:
PHP-Code:
$message["message"
durch:
PHP-Code:
$message->message