Seite 19 von 22

Re: Einfache Anzeige der letzten Themen in Div-Box

Verfasst: 10.12.2009 20:29
von 4seven
die datei muss in den foren-root.

beispiel für mein test-forum:

Code: Alles auswählen

// Relative Pfadangabe zur config.php 
$config_path = '/'; 

// Absoluter Pfad des Forums auf dem Server, bitte eingeben !!! 
$root_path = 'http://sekuro.se.funpic.de/phpbb3/'; 
fast alle tips und tricks stehen auch in diesem thread (bitte durchlesen).
und nimm "sascha's optimierten code". nicht die erstlings-version.

Re: Einfache Anzeige der letzten Themen in Div-Box

Verfasst: 25.12.2009 22:22
von Onassis
Hallo an alle!

Ich lasse seit einiger Zeit die letzten Beiträge in einer Div-Box anzeigen.
Es klappt alles, sogar das Umlaute Problem konnte ich dank diesem thread lösen (speichern UTF8-ohne BOM).

Nun würde ich gerne auf einer größeren Seite mir nicht nur die Beitrags-Überschrift anzeigen lassen,
sondern den gesamten ersten Beitrag dieses threads (der komplette geschriebene Text).
Falls möglich sogar mehrere Beiträge desThemas untereinander.


Oder anders gesagt, eine Liste mit den letzten x Beiträgen (aber nicht nur den Beitrags-Betreff, sondern falls möglich den gesamten Beitrag).

Ich habe mir hier alles durchgelesen, aber trotzdem nicht rausgefunden, wie man das machen könnte.
Hat da jemand eine kleine hilfreiche Idee, wie man das hinbekommen könnte?

Vielen Dank und noch einen schönen 1. Weihnachtsfeiertag!

Onassis

Re: Einfache Anzeige der letzten Themen in Div-Box

Verfasst: 25.12.2009 22:56
von Latza
Bei mir will das nicht funktionieren. Ich hab den last_topics.php code auf der zweiten oder dritten seite (der in deutsch) erstellt und in den root geladen.
Dann hab ich das hier gemacht :
http://www.phpbb.de/community/viewtopic ... 52#p977752
Das hier :
<!-- INCLUDE last_topics.html -->
hab ich unter den header gemacht :

Code: Alles auswählen

<div id="wrapheader">
<div id="logodesc">
			<a class="logo" href="{U_INDEX}"><img src="{T_IMAGESET_PATH}/site-logo-{SITE_LOGO_RANDOM}.png" alt="Logo" title="Logo" /></span></a>
	</div>
</div>
<!-- INCLUDE last_topics.html -->
<br />
	<table class="tablebg" cellspacing="1" width="100%">
<tr>
<td class="row1" height="60px" width="73%">
			<p class="breadcrumbs"><a href="{U_INDEX}"><strong><img
style aktualisiert und cache geleert ... . aber es wird mir nichts angezeigt.
Edit:
Jetzt wird was angezeigt aber funktionieren tut es nicht :
http://fck-recorder.bplaced.net/

Re: Einfache Anzeige der letzten Themen in Div-Box

Verfasst: 26.12.2009 00:09
von 4seven
>>> http://www.phpbb.de/community/viewtopic ... 52#p977752
und genau die variante funktioniert nicht :wink:

nimm die klassische variante oder die anderen alternativen

Re: Einfache Anzeige der letzten Themen in Div-Box

Verfasst: 26.12.2009 00:13
von Latza
Schau mal mein edit vom letzten Post.
Nochmal zusammengefasst.
Das hier steht in der last_topics.php (liegt im root) :

Code: Alles auswählen

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

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

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

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

// IDs der zugelassenen Foren (nur wenn Forumsanzeige = "1"); Trennung der IDs mit einem Komma
$forum_ids = '43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78';

// Relative Pfadangabe zur config.php
$config_path = '/';

// Absoluter Pfad des Forums auf dem Server, bitte eingeben !!!
$root_path = 'http://fck-recorder.bplaced.net/';



// ############ 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
?>
und das hier hab ich in die overall_header.html eingebaut :

Code: Alles auswählen

</script>
<link href="{T_THEME_PATH}/web/style.css" rel="stylesheet" type="text/css" media="screen, projection" />
</head>
<body class="{S_CONTENT_DIRECTION}">
<div class="outside">
<div class="top-left"></div><div class="top-center"></div><div class="top-right"></div>
<div class="inside">
<div class="notopgap">
<a name="top"></a>

<div id="wrapheader">
<div id="logodesc">
			<a class="logo" href="{U_INDEX}"><img src="{T_IMAGESET_PATH}/site-logo-{SITE_LOGO_RANDOM}.png" alt="Logo" title="Logo" /></span></a>
	</div>
</div>
<script type="text/javascript">
<!--
var iH = "300";
var iB = "600";
document.write('<iframe '
      + 'allowtransparency="yes" '
      + 'height="' + iH + '" '
      + 'width="' + iB + '" '
      + 'frameborder=0 '
      + 'src="last_topics.php">'
      + '</iframe>');
//-->
</script>
<br />
	<table class="tablebg" cellspacing="1" width="100%">
<tr>
<td class="row1" height="60px" width="73%">
Und das ist doch diese andere mögichkeit. Oder nicht ?
Funktionieren tut es aber immer noch nicht so wie ich es will (siehe edit in meinem letzten post).

Re: Einfache Anzeige der letzten Themen in Div-Box

Verfasst: 26.12.2009 00:14
von 4seven
les dich mal in ruhe durch den thread und nimm "sacha's optimierten code".
der code funktioniert 100%...

Re: Einfache Anzeige der letzten Themen in Div-Box

Verfasst: 26.12.2009 00:17
von Latza
Ich hab mich schon 2 mal durch die 19 seiten durchgelesen :roll: .
Saschas Code ist doch der hier auf seite 2/3 :
http://www.phpbb.de/community/viewtopic ... 59#p977859

Den hab ich doch :roll: .Du solltest vielleicht auch erstmal lesen was ich schreibe.

Re: Einfache Anzeige der letzten Themen in Div-Box

Verfasst: 26.12.2009 00:28
von 4seven
dann gib dir mühe. bei mir und x anderen funktioniert es doch auch.

nimm einfach mal die 250 foren-id's raus und fang ganz einfach mit einer einzelnen foren-id an.
die foren-id's besagen nämlich, welche foren-id's nicht angezeigt werden (war wohl ein denkfehler beim beschriften) - bin mir aber nicht mehr sicher. teste es mal...

Code: Alles auswählen

// IDs der zugelassenen Foren (nur wenn Forumsanzeige = "1"); Trennung der IDs mit einem Komma
$forum_ids = '43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78';

Code: Alles auswählen

// Eingeschraenkte Forumsanzeige ('0' = Aus; '1' = Ein)
$special_forums = '1';
hier auch erstmal auf 0 belassen

wichtig bei solchen sachen: immer gaaanz einfach anfangen, sonst findet man seinen fehler nämlich nicht :wink:

hier meine last_topics:

pur als php
http://sekuro.se.funpic.de/phpbb3/last_topics_1.php

und formatiert als html
http://sekuro.se.funpic.de/phpbb3/last_topics_1.html

Re: Einfache Anzeige der letzten Themen in Div-Box

Verfasst: 26.12.2009 00:29
von Latza
Ok alle Ids entfernt und das andere auf 0 gesetzt. Style aktualisiert und cache geleert. Aber es hat sich nicht verändert im Board. Sogar die gleichen Themen.
Ich will sowas wie hier :
http://4seven.kilu.de/forum/phpbb3/
ganz oben. Sowas ist das hier doch ,o der?
So sieht es bei mir aus:
http://fck-recorder.bplaced.net/last_topics.php

Re: Einfache Anzeige der letzten Themen in Div-Box

Verfasst: 26.12.2009 00:39
von 4seven
http://fck-recorder.bplaced.net/last_topics.php

geht doch alles. er zeigt jetzt die letzten 5 themen aus allen foren an

Code: Alles auswählen

// Maximal angezeigte Beiträge
$topic_limit = '5';
das was du meinst ist noch im [dev]
http://sekuro.se.funpic.de/phpbb3/viewt ... ?f=8&t=307

siehe auch hier
http://www.phpbb.de/community/viewtopic ... 5#p1149435