"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

MySql prob@wBB: Last Threads

Luki 29.12.2002 - 16:22 739 1
Posts

Luki

UNDER CONSTRUCTION
Avatar
Registered: Feb 2002
Location: 127.0.0.1
Posts: 2347
Will bei meinem board auch so ne Last post anzeige einbauen wie auf oc.at

hab eine gefunden die ich mir jetzt schon ein bissal hergerichtet habe:

Code: PHP
/// Top 5 Posters
$posts5 = $db_zugriff->query('SELECT userid,username,userposts FROM bb1_user_table ORDER BY userposts DESC LIMIT 5');
while ($posts5top = mysql_fetch_array($posts5)):
    ++$posts5topnbsp;
    $posts5name .= "» <a href=members.php?mode=profile&userid=$posts5top[userid]>$posts5top[username]</a><br>";
    $posts5post .= "$posts5top[userposts] <br>";
endwhile;
// Top 5 Posters
// Top 5 New Members
$newest5user = $db_zugriff->query('SELECT userid,userposts,username,regdate FROM bb1_user_table ORDER BY regdate DESC LIMIT 5');
while ($newuser5top = mysql_fetch_array($newest5user)):
    ++$newuser5top;
    $newuser5name .= "» <a href=members.php?mode=profile&userid=$newuser5top[userid]>$newuser5top[username]</a><br>";
    $newuser5posts .= "$newuser5top[userposts] <br>";
endwhile;
// Top 5 New Members
// Top 5 Thread Replys
$pop5 = $db_zugriff->query('SELECT
bb1_boards.*,
bb1_posts.threadparentid,
bb1_posts.userid,
bb1_posts.posttime,
bb1_threads.threadname,
bb1_threads.topicicon,
bb1_threads.timelastreply,
bb1_threads.views,
bb1_threads.boardparentid as parentid,
bb1_user_table.username
FROM bb1_boards
LEFT JOIN bb1_posts ON (bb1_posts.postid=bb1_boards.lastpostid) 
LEFT JOIN bb1_threads ON (bb1_threads.threadid=bb1_posts.threadparentid) 
LEFT JOIN bb1_user_table ON (bb1_user_table.userid=bb1_posts.userid) 
ORDER BY timelastreply DESC LIMIT 5');
while ($pop5top = mysql_fetch_array($pop5)):
    ++$pop5top;
    $pop5thread .= "» <a href=action.php?action=getlastmain&boardid=$pop5top[parentid]>$pop5top[threadname]</a><br>";
    $pop5lastpostid .= "» <a href=members.php?mode=profile&userid=$pop5top[userid]>$pop5top[username]</a><br>";
    $pop5views .= "$pop5top[views] <br>";
endwhile;
// Top 5 Thread Replys
eval("\$top5threadstats = \"".gettemplate("stats")."\";");
// Top 5 Statistics

problem liegt darin das er die aktuellesten von je einem forum raussucht -> wenn ich nur zwei foren habe hab ich nur 2 neueste beiträge egal wievieve threads da drinnen sind.

php-code ansich wäre ja eh kein problem, ich scheitere nur am mysql *mussmichnochdazusitzendanichtscheck*

es wird eh eine ganz einfache lösung sein nur ich komm me net drauf

danke für eure hilfe schon im vorraus

Philipp

Here to stay
Registered: Jul 2001
Location: Wien
Posts: 1922
Ungefähr so:

Code: PHP
<?php

$host = "localhost";
$user = "username";
$pw = "passwort";
$db = "datenbank";

@mysql_connect($host,$user,$pw) or die ("Fehler: MySQL server nicht erreichbar");
@mysql_select_db($db) or die ("Fehler: Kann Datenbank nicht auswählen");

$result = mysql_query("SELECT * FROM bb1_threads ORDER BY timelastreply DESC LIMIT 5");

while ($sqldata = mysql_fetch_array($result)) {

if(strlen($sqldata[threadname])>32) $sqldata[threadname] = substr($sqldata[threadname],0,29)."...";

echo <<<AUSGABE
<a href="action.php?action=getlastmain&boardid=$sqldata[boardparentid]">$sqldata[threadname]</a><br />
AUSGABE;

}

?>

Die HTML Ausgabe zwischen echo <<<AUSGABE und AUSGABE; kann beliebig geändert werden. So kann z.b. mit $sqldata[author] der Name des Users eingebaut werden oder mit $sqldata[views] die Pageviews usw.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz