Seite 1 von 1
neusten Beitrag mit php aus Datenbank auslesen
Verfasst: 09.01.2010 13:30
von ttc1974
Hallo,
ich möchte gerne auf meiner Homepage das aktuellste Thema aus der Kategorie Stuff -> Forum News auslesen
dazu sollen gehören Name des Poster, Datum und der gesamte Text sowie der Betreff
ich möchte quasi meine aktuellste News auf meiner Homepage anzeigen lassen.
Hat eventuell jemand genau dafür schon ein phpCode? Oder kann weiterhelfen?
würde mich über Hilfe freuen
mfg
ttc1974
Re: neusten Beitrag mit php aus Datenbank auslesen
Verfasst: 09.01.2010 13:51
von Mahony
Re: neusten Beitrag mit php aus Datenbank auslesen
Verfasst: 10.01.2010 17:16
von ttc1974
joa damit komme ich aber irgendwie nicht so ganz zurecht
man kann des doch auch ganz easy
aus ner datenbank mit php auslesen
ich habe mir ja schon was gebastelnt um die 5 neusten Beiträge nur die Topics anzeigen zu lassen mit Link
aber ich bekomme es nicht hin den gesamten Beitrag auszulesen
gruß
Re: neusten Beitrag mit php aus Datenbank auslesen
Verfasst: 10.01.2010 18:07
von Helmut
Hallo ttc1974,
also die Beispiele sind doch gut erklärt.
Ich habe mal für eine andere Homepage mit Forum so etwas gemacht. Dazu habe ich
hier eine Vorlage gefunden, die ich etwas erweitert und angepasst habe. Damit solltest du aber klar kommen.
topicextern.php
Code: Alles auswählen
<?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 = '/phpbb/';
// Absoluter Pfad des Forums auf dem Server, bitte eingeben !!!
//$root_path = 'http://www.deinehompage.de/weitere_Ordner(optional)/phpbb/';
$root_path = "http://www.deinehompage.de/phpbb/"; //Pfad zum Forum
$root_path2 = "/usr/local/httpd/htdocs/****/****/"; // Absoluter Pfad
// ############ 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($root_path2.$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
?>
In deiner html rufst du dei Datei dann so auf:
Code: Alles auswählen
<span class="smallText"><?php include ("topicextern.php"); ?> </span>
Du kannst die Abfrage der Datenbank und die Anzeige ja noch nach deinen Wünschen anpassen.
Gruß Helmut