MySql prob@wBB: Last Threads

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/mysql_probwbb_last_threads_60791/page_1 - zur Vollversion wechseln!


Luki schrieb am 29.12.2002 um 16:22

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 schrieb am 29.12.2002 um 22:09

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.




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025