Einfache Anzeige der letzten Themen in Div-Box

Du suchst einen bestimmten Mod, weißt aber nicht genau wo bzw. ob er überhaupt existiert? Wenn dir dieser Artikel nicht weiterhilft, kannst du hier den von dir gewünschten/gesuchten Mod beschreiben ...
Falls ein Mod-Autor eine der Anfragen hier aufnimmt, um einen neuen Mod zu entwickeln, geht's in [3.0.x] Mods in Entwicklung weiter.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
Pfotenwelt
Ehemaliges Teammitglied
Beiträge: 427
Registriert: 26.01.2008 23:38
Wohnort: Zug

Beitrag von Pfotenwelt »

Irgendwie klappt es einfach nicht. Muss das woh nochmals genau durchgehen. Das problem ist ich kann irgendwie wohl die index.php datei nicht integrieren, die ich ausserhalb des forumspfad drinn habe......
sascha123
Mitglied
Beiträge: 5
Registriert: 06.04.2008 13:59

Beitrag von sascha123 »

So, ich habe den Code mal kommentiert und eingedeutscht. Jetzt sollten es einige etwas leichter haben.

Als nächstes fliegt die Tabelle raus. Werde es nach einem Test hier veröffentlichen.

Da ich mich mit phpBB erst seit zwei Tagen beschäftige, ist die Kommentierung natürlich nicht vollständig.

Wer Lust hat kann meine (möglichen) Fehler gerne korrigieren bzw. die Kommentare erweitern. :wink:




<?php
// ############ Anfang Festlegung der Vorgaben ########################################

// Laenge der angezeigten Themenueberschrift in Buchstaben
$topic_length = '20';

// Maximal angezeigte Beiträge
$topic_limit = '6';

// Eingeschraenkte Forumsanzeige ('0' = Aus; '1' = Ein)
$special_forums = '0';

// IDs der zugelassenen Foren (nur wenn Forumsanzeige = "1"); Trennung der IDs mit einem Komma
$forum_ids = '';

// Trennzeichen für spaetere Pfadkonstruktion (config.php)
$config_path = '/';

// Pfad des Forums auf dem Server, bitte eingeben !!!
$root_path = 'http://www.deinehompage.de/weitere_Ordn ... al)/phpbb/';



// ############ Ende Vorgaben #######################################

//Ermittlung des aktuellen Server-Verzeichnisses
$path = dirname(__FILE__);

// Einbinden der phpBB-Konfigurationsdatei und somit Ermittlung der MySQL-Zugangsdaten
include_once($path.$config_path .'config.php');

// Verbindungsaufbau mit Zugangsdaten aus config.php, Fehlermeldung bei Problemen
mysql_connect($dbhost, $dbuser, $dbpasswd) OR die('Serververbindung fehlgeschlagen');

// Verbindung mit der phpBB-Datenbank herstellen
mysql_select_db($dbname) OR die('Datenbankverbindung fehlgeschlagen!');

// ############## Ausgabe der Tabelle (Teil1)##############

// "$topic_limit" kann aus dieser Tabelle geloescht werden, da nur fuer Ausgabe Anzahl Beitraege zustaendig
echo '<table border="0" cellpadding="0" cellspacing="0" style="width: 100%" id="Table_DSF-Top5">
<body text="#000000" link="#000000" vlink="#333333" alink="#333333">
<tr>
<td colspan="4"><span class="small"><font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">
Die '. $topic_limit .' letzten Themen im Forum</font></span></td><br>
</tr>
<tr>

<td style="width: 20%"><span class="small">
<strong>
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">Foren</font></strong>
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:9px"></font
</strong></span></td>
<td style="width: 20%"><span class="small">
<strong>
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">User</font>
</strong>
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:9px"></font
</strong></span></td>
<td style="width: 20%"><span class="small">
<strong>
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">Datum</font>
</strong></span></td>
<td style="width: 20%"><span class="small"><strong>
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">Thema</font>
</strong>
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:9px"></font
</strong></span></td>

</tr>';


// ############## Ende der Tabellenausgabe (Teil1) ##############

//Abfrage ob Foreneinschraenkung gesetzt per Verzweigung und Uebergabe der moeglichen IDS an die Variable
$where_forums = ( $special_forums == '0' ) ? '' : 't.forum_id NOT IN ('. $forum_ids .') AND ';

//Definition der SQL-Abfrage
$sql = "SELECT t.*, f.forum_id, f.forum_name, u.username AS first_poster, u.user_id AS first_poster_id, u2.username AS last_poster, u2.user_id AS last_poster_id, p.post_username AS first_poster_name, p2.post_username AS last_poster_name, p2.post_time
FROM ". $table_prefix ."topics t, ". $table_prefix ."forums f, ". $table_prefix ."users u, ". $table_prefix ."posts p, ". $table_prefix ."posts p2, ". $table_prefix ."users u2
WHERE $where_forums t.topic_poster = u.user_id AND f.forum_id = t.forum_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
ORDER BY t.topic_last_post_id DESC LIMIT $topic_limit";


//Durchfuehrung der SQL-Abfrage und Ergebnisuebergabe an $result
$result = mysql_query($sql);

// Wenn Abfrafge fehlgeschlagen = Fehlermeldung
if( !$result )

{
die('SQL-Abfrage fehlgeschlagen!: '. mysql_error());
exit();
}

//Definition Array für Aufnahme der Abfragedaten
$line = array();

// Uebergabe der Daten bis zum letzten Datensatz an Array per Schleife
while( $row = mysql_fetch_array($result) )

{
$line[] = $row;
}

// Strukturiertes Auslesen des Arrays und Variablenuebergabe
for( $i = 0; $i < count($line); $i++ )
{
$forum_id = $line[$i]['forum_id']; //Forums-ID
$forum_url = $root_path .'viewforum.php?f='. $forum_id; //Forums-Link
$topic_id = $line[$i]['topic_id']; //Themen-ID
$topic_url = $root_path .'viewtopic.php?t='. $topic_id; //Themen-Link
// Ausgabeformat der Beitragsueberschrift (Thema)
$topic_title = ( strlen($line[$i]['topic_title']) < $topic_length ) ? $line[$i]['topic_title'] : substr(stripslashes($line[$i]['topic_title']), 0, $topic_length) .'...';

// Themenklassifizierung
$topic_type = ( $line[$i]['topic_type'] == '2' ) ? 'Beitrag ': '';
$topic_type .= ( $line[$i]['topic_type'] == '3' ) ? 'Globaler Beitrag ': '';
$topic_type .= ( $line[$i]['topic_type'] == '1' ) ? 'Kritischer Beitrag ': '';
$topic_type .= ( $line[$i]['topic_vote'] ) ? 'Abstimmung ': '';

$views = $line[$i]['topic_views'];
$replies = $line[$i]['topic_replies'];

$first_time = date('d.m.Y', $line[$i]['topic_time']);
$first_author = ( $line[$i]['first_poster_id'] != '-1' ) ? '<a href="'. $root_path .'profile.php?mode=viewprofile&u='. $line[$i]['first_poster_id'] .'" target="_blank">'. $line[$i]['first_poster'] .'</a>' : ( ($line[$i]['first_poster_name'] != '' ) ? $line[$i]['first_poster_name'] : 'guest' );
$last_time = date('d.m.Y', $line[$i]['post_time']);
$last_author = ( $line[$i]['last_poster_id'] != '-1' ) ? $line[$i]['last_poster'] : ( ($line[$i]['last_poster_name'] != '' ) ? $line[$i]['last_poster_name'] : 'guest' );
$last_url = '<a href="'. $root_path .'viewtopic.php?p='. $line[$i]['topic_last_post_id'] .'#'. $line[$i]['topic_last_post_id'] .'" target="_blank">'. $last_author .'</a>';

// ############## Eigentliche Ausgabe der Beitraege (Tabelle Teil 2)##############

echo '<tr>
<td style="width: 20%"><a href="'. $forum_url .'" target="_blank">
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">'. $line[$i]['forum_name'] .'</font></a></td>
<td style="width: 20%">
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">'. $last_url .'</font></td>
<td style="width: 20%">
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">'. $last_time .'</font></td>
<td style="width: 20%"><a href="'. $topic_url .'" target="_blank">
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">'. $topic_title .'</font></a></td>

</tr>';

// ############## Ende Eigentliche Ausgabe (Tabelle Teil 2) ##############
}

echo '</table>'; //Ende der Tabelle
mysql_close(); // Beendigung der Datenbankverbindung
?>
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Beitrag von 4seven »


thx 4 translation @ sascha123 :wink:

-------------------------
Pfotenwelt hat geschrieben:Irgendwie klappt es einfach nicht.
Was klappt denn genau nicht?
Pfotenwelt hat geschrieben:Das problem ist ich kann irgendwie wohl die index.php datei nicht integrieren, die ich ausserhalb des forumspfad drinn habe......
sollte ja auch in der index_body.html integriert werden (anleitung letzte seite)

P.S.
wieso liegt denn deine index.php außerhalb des forenpfades?? :o

gruß
4seven
Ibn-Sallam
Mitglied
Beiträge: 108
Registriert: 06.02.2008 11:00

Beitrag von Ibn-Sallam »

hab ein bisschen rum gebastelt komme nicht weiter bei User zeigt Thema an, umgekhert kein link, bei Thema zeigt Foren

ich habe sozusagen Thema von hinten nach vorne aber leider die links sind so geblieben...

wer kann hilfen http://www.quran-sunna.de/last_topics.php
sascha123
Mitglied
Beiträge: 5
Registriert: 06.04.2008 13:59

Beitrag von sascha123 »

Habe es endlich geschafft! Einige Kommentarfehler wurden ebenfalls entfernt.

Der Aufbau sieht jetzt wie folgt aus:

Forumsname
User
Datum
Thema

Forumsname
User
Datum
Thema

.
.
.

Die Felder die ihr nicht braucht, könnt ihr einfach weglassen (siehe Kommentare). Ansonsten kann alles natürlich noch schön mit HTML und CSS formatiert werden.

Der Quellcode kann per include oder direkt in der jeweiligen Seite eingebunden werden.

Amen. :D



<?php
// ############ Anfang Festlegung der Vorgaben ########################################

// Laenge der angezeigten Themenueberschrift in Buchstaben
$topic_length = '20';

// Maximal angezeigte Beiträge
$topic_limit = '6';

// Eingeschraenkte Forumsanzeige ('0' = Aus; '1' = Ein)
$special_forums = '0';

// IDs der zugelassenen Foren (nur wenn Forumsanzeige = "1"); Trennung der IDs mit einem Komma
$forum_ids = '';

// Relative Pfadangabe zur config.php
$config_path = 'ordner(optional)/phpBB3/';

// Absoluter Pfad des Forums auf dem Server, bitte eingeben !!!
$root_path = 'http://www.deinehompage.de/weitere_Ordn ... al)/phpbb/';



// ############ Ende Vorgaben #######################################

//Ermittlung des aktuellen Server-Verzeichnisses für Einbindung config.php
$path = dirname(__FILE__);

// Einbinden der phpBB-Konfigurationsdatei und somit Ermittlung der MySQL-Zugangsdaten
include_once($path.$config_path .'config.php');

// Verbindungsaufbau mit Zugangsdaten aus config.php, Fehlermeldung bei Problemen
mysql_connect($dbhost, $dbuser, $dbpasswd) OR die('Serververbindung fehlgeschlagen');

// Verbindung mit der phpBB-Datenbank herstellen
mysql_select_db($dbname) OR die('Datenbankverbindung fehlgeschlagen!');


//Abfrage ob Foreneinschraenkung gesetzt per Verzweigung und Uebergabe der moeglichen IDS an die Variable
$where_forums = ( $special_forums == '0' ) ? '' : 't.forum_id NOT IN ('. $forum_ids .') AND ';

//Definition der SQL-Abfrage
$sql = "SELECT t.*, f.forum_id, f.forum_name, u.username AS first_poster, u.user_id AS first_poster_id, u2.username AS last_poster, u2.user_id AS last_poster_id, p.post_username AS first_poster_name, p2.post_username AS last_poster_name, p2.post_time
FROM ". $table_prefix ."topics t, ". $table_prefix ."forums f, ". $table_prefix ."users u, ". $table_prefix ."posts p, ". $table_prefix ."posts p2, ". $table_prefix ."users u2
WHERE $where_forums t.topic_poster = u.user_id AND f.forum_id = t.forum_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
ORDER BY t.topic_last_post_id DESC LIMIT $topic_limit";


//Durchfuehrung der SQL-Abfrage und Ergebnisuebergabe an $result
$result = mysql_query($sql);

// Wenn Abfrafge fehlgeschlagen = Fehlermeldung
if( !$result )

{
die('SQL-Abfrage fehlgeschlagen!: '. mysql_error());
exit();
}

//Definition Array für Aufnahme der Abfragedaten
$line = array();

// Uebergabe der Daten bis zum letzten Datensatz an Array per Schleife
while( $row = mysql_fetch_array($result) )

{
$line[] = $row;
}

// Strukturiertes Auslesen des Arrays und Variablenuebergabe
for( $i = 0; $i < count($line); $i++ )
{
$forum_id = $line[$i]['forum_id']; //Forums-ID
$forum_url = $root_path .'viewforum.php?f='. $forum_id; //Forums-Link
$topic_id = $line[$i]['topic_id']; //Themen-ID
$topic_url = $root_path .'viewtopic.php?t='. $topic_id; //Themen-Link
// Ausgabeformat der Beitragsueberschrift (Thema)
$topic_title = ( strlen($line[$i]['topic_title']) < $topic_length ) ? $line[$i]['topic_title'] : substr(stripslashes($line[$i]['topic_title']), 0, $topic_length) .'...';

// Themenklassifizierung
$topic_type = ( $line[$i]['topic_type'] == '2' ) ? 'Beitrag ': '';
$topic_type .= ( $line[$i]['topic_type'] == '3' ) ? 'Globaler Beitrag ': '';
$topic_type .= ( $line[$i]['topic_type'] == '1' ) ? 'Kritischer Beitrag ': '';
$topic_type .= ( $line[$i]['topic_vote'] ) ? 'Abstimmung ': '';

$views = $line[$i]['topic_views'];
$replies = $line[$i]['topic_replies'];

$first_time = date('d.m.Y', $line[$i]['topic_time']);
$first_author = ( $line[$i]['first_poster_id'] != '-1' ) ? '<a href="'. $root_path .'profile.php?mode=viewprofile&u='. $line[$i]['first_poster_id'] .'" target="_blank">'. $line[$i]['first_poster'] .'</a>' : ( ($line[$i]['first_poster_name'] != '' ) ? $line[$i]['first_poster_name'] : 'guest' );
$last_time = date('d.m.Y', $line[$i]['post_time']);
$last_author = ( $line[$i]['last_poster_id'] != '-1' ) ? $line[$i]['last_poster'] : ( ($line[$i]['last_poster_name'] != '' ) ? $line[$i]['last_poster_name'] : 'guest' );
$last_url = '<a href="'. $root_path .'viewtopic.php?p='. $line[$i]['topic_last_post_id'] .'#'. $line[$i]['topic_last_post_id'] .'" target="_blank">'. $last_author .'</a>';

// ############## Eigentliche Ausgabe der Beitraege #############

echo '<div>';
// Forumsname und Link, bei Bedarf loeschen
echo '<p><a href="'. $forum_url .'" target="_blank">'. $line[$i]['forum_name'] .'</a><br />';
// User, Bei Bedarf loeschen
echo $last_url.'<br />';
// Datum, Bei Bedarf loeschen
echo $last_time.'<br />';
// Thema und Link, Bei Bedarf loeschen
echo '<a href="'. $topic_url .'" target="_blank">'. $topic_title .'</font></a></p>
</div>';

// ############## Ende Eigentliche Ausgabe ##############
}

mysql_close(); // Beendigung der Datenbankverbindung
?>
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Beitrag von 4seven »

Superklasse :grin:
Benutzeravatar
Pfotenwelt
Ehemaliges Teammitglied
Beiträge: 427
Registriert: 26.01.2008 23:38
Wohnort: Zug

Beitrag von Pfotenwelt »

4seven hat geschrieben: thx 4 translation @ sascha123 :wink:

-------------------------
Pfotenwelt hat geschrieben:Irgendwie klappt es einfach nicht.
Was klappt denn genau nicht?
Pfotenwelt hat geschrieben:Das problem ist ich kann irgendwie wohl die index.php datei nicht integrieren, die ich ausserhalb des forumspfad drinn habe......
sollte ja auch in der index_body.html integriert werden (anleitung letzte seite)

P.S.
wieso liegt denn deine index.php außerhalb des forenpfades?? :o

gruß
4seven
So nach dem Update kann ich mich nun wieder diesen sachen widtmen. 8)

Also, wieso die ausserhalb liegt? Weil es eine Index.php ist, die von mir erstellt wurde. Also nicht zum forum gehört in dem Sinne. Daher liegt die ausserhalb. Wenn ich die ja in den Index body rein mach, dann habe ich diese ja im Forum selbst angezeigt. Oder liege ich jetzt wieder völlig neben den Schuhen? Aber evt. ist halt das problem wenn es ausserhalb liegt, dass ich nicht includen kann. Oder verstehe ich das jetzt ganz falsch?
Benutzeravatar
Comedix
Mitglied
Beiträge: 107
Registriert: 02.04.2006 20:36
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Comedix »

Hurra, es geht bei mir auch, das ist wunderbar und genau das gesuchte Mod.

@Pfotenwelt, ich habe auch eine index.php, die ausserhalb des Forumverzeichnisses liegt. Die Integration funktioniert tadellos. Ich habe den letzten Quellcode von sascha123 kopiert, angepasst und in eine lasttopics.php ausgelagert, die ich im Forumverzeichnis habe. Anschließend habe ich diese Datei in meine index.php includiert:

<?php include ("http://www.comedix.de/pinboard/lasttopics.php"); ?>

Und so sieht es nun aus (das Forum ist noch nicht final von phpBB2 konvertiert und die Seite ist nur eine Testseite: Hauptseite

Gruß, Marco
Zuletzt geändert von Comedix am 08.04.2008 16:44, insgesamt 1-mal geändert.
Deutsches Asterix Archiv
http://www.comedix.de/
Benutzeravatar
Pfotenwelt
Ehemaliges Teammitglied
Beiträge: 427
Registriert: 26.01.2008 23:38
Wohnort: Zug

Beitrag von Pfotenwelt »

he danke, na das probier ich jetzt auch nochmal.

übrigens, coole seite. 8) geht doch nichts über asterix.
Benutzeravatar
Pfotenwelt
Ehemaliges Teammitglied
Beiträge: 427
Registriert: 26.01.2008 23:38
Wohnort: Zug

Beitrag von Pfotenwelt »

So ich habs jetzt nochmals versucht und klappt irgendwie auch nicht. Daher geb ich das Unterfangen mal auf und schaue ob es irgendwo nen mod dazu gibt. Was ich zwar nicht denke. Aber ich habe das versucht da so zu includen. Aber geht nicht da ich ja wiederum auch das template da irgendwie include, und das wiederum liegt in template ordner von meinem style. Ich glaube das ganze wird irgendwie zu kompliziert.... :oops:
Antworten

Zurück zu „[3.0.x] Mod Suche/Anfragen“