Ich schau sie mir ja die ganze Zeit schon an

werd da aber nicht ganz schlau draus.

Wenn ich die functions.php include, funktionieren die Forumfunctionen nicht mehr wie sie sollen.
Diese Funktion habe ich eingebunden, mit Limit 1
Code: Select all
function generateTopTen() {
global $db, $sids, $err_noTopTen, $msgViews, $sqltblpre;
$result = $db->query("SELECT DISTINCT ".$sqltblpre."faqdata.id, ".$sqltblpre."faqdata.lang, ".$sqltblpre."
faqdata.thema, ".$sqltblpre."faqdata.rubrik, ".$sqltblpre."faqvisits.visits FROM ".$sqltblpre."faqvisits, ".$sqltblpre."faqdata
WHERE ".$sqltblpre."faqdata.id = ".$sqltblpre."faqvisits.id AND ".$sqltblpre."faqdata.lang = ".$sqltblpre."faqvisits.lang
AND ".$sqltblpre."faqdata.active = 'yes' ORDER BY ".$sqltblpre."faqvisits.visits DESC LIMIT 0,1");
$output = "";
if ($db->num_rows($result) > 0) {
$i = 1;
while ($row = $db->fetch_object($result)) {
$output .= "<tr>\n\t<td class=\"topten\">\n";
$output .= "\t<b>[".$i.".] ".$row->visits." ".$msgViews.":</b><br /><a href=\"".$_SERVER["PHP_SELF"]."?".$sids."aktion=artikel&rubrik=".$row->rubrik."&id=".$row->id."&lang=".$row->lang."\">".stripslashes(makeShorterText($row->thema, 8))."</a>\n";
$output .= "\t</td>\n\t</tr>\n";
$i++;
}
}
else {
$output = "<tr><td class=\"topten\">".$err_noTopTen."</td></tr>";
}
return $output;
}
Generiert wir das ja in der main.php
Code: Select all
$tpl->processTemplate ("writeContent", array(
"writeNewsHeader" => $title.$msgNews,
"writeNews" => generateNews(),
"writeNumberOfArticles" => $msgHomeThereAre.generateNumberOfArticles().$msgHomeArticlesOnline,
"writeTopTenHeader" => $msgTopTen,
"writeTopTenRow" => generateTopTen(),
"writeNewestHeader" => $msgLatestArticles,
"writeNewestRow" => generateFiveNewest()
));
Wenn ich das auch in die main.php nehme, bekomme ich folgende Fehlermedung:
Fatal error: Call to a member function on a non-object in c:\programme\apache group\apache\htdocs\forum\main.php on line 34
Ich weiß leider nicht, wie ich das ganze zerpflücken muß, um nur die Nr.1 in $toptechtalk zu bringen.
Eigentlich wieder alles zu viel Code, nur um das Thema und die Anzahl Views auszulesen.
Beim Forum selbst hab ich damit keine Probleme mehr etwas aus der DB zu lesen und anzeigen zu lassen.
Da sind die Daten alle in den $Variablen, und werden so komplett an die Templates übergeben.
Hier zwei Beispiele:
Code: Select all
$anzahlthreads = $db_zugriff->query_first("SELECT COUNT(threadid) FROM bb".$n."_threads");
Code: Select all
$newestuser = $db_zugriff->query_first("SELECT userid,username FROM bb".$n."_user_table WHERE activation='1' ORDER by regdate DESC LIMIT 1");
$newestuser = "<a href=\"members.php?mode=profile&userid=".$newestuser['userid'].$session."\">".$newestuser['username']."</a>";
Jetzt muß ich nur noch im Template $anzahlthreads oder $newestuser reinschreiben, und schon wird´s dargestellt.