Subject: How To Add Top Users, Hot Topics And Forum List
I'm Alan and I run www.eightlane.com. I thought I'd put something back in and help people with some code from my site that allows you to run some descriptives on your forum, useful for homepage stats etc:
TOP USERS:
$sql= mysql_query("SELECT _forumUsers.ID , _forumUsers.Name , _forumPosts.User , count(*) FROM _forumPosts LEFT JOIN _forumUsers ON _forumPosts.User =_forumUsers.ID GROUP BY User HAVING _forumPosts.User >0 ORDER BY 'count(*)' DESC LIMIT 0 , 4;");
while($row=mysql_fetch_assoc($sql)) {
$query = mysql_query("SELECT User FROM _forumPosts WHERE User = '$row[User]'") or die(mysql_error());
$count = mysql_num_rows($query);
$new_id = "<b>$count</b> posts - <a href=\"forum.php%3Freq%3Dcp%26id%3D$row[ID]\">$row[Name]</a><br/>";
echo "$new_id";
}
$sql = mysql_query("SELECT * FROM _forumPosts WHERE User = 0") or die(mysql_error());
$count = mysql_num_rows($sql);
echo "Guests have posted <b>$count</b> posts";
HOT TOPICS
$time=time();
$sql = mysql_query("SELECT * FROM _forumThreads WHERE LastPostDate > ($time-250000) ORDER BY Views DESC LIMIT 4;") or die(mysql_error());
echo "<table width=\"100%\" cellspacing=\"0\" cellpadding=\"0\"><tr>";
echo "<td width=\"75%\" align=\"center\"><b>Hot Topics</b></td><td width=\"25%\" align=\"center\"><b>Viewed</b></td></tr>";
while($row = mysql_fetch_array( $sql )) {
echo "<tr><td width=\"75%\">";
echo "<a href=\"forum.php%3Freq%3Dthread%26id%3D$row[ID]\">" . stripslashes(substr($row['Subject'],0,75)) . "</a></td><td width=\"25%\">$row[Views] times</td></tr>";
}
echo "</table>";
LATEST FORUM TOPICS
$sql= mysql_query("SELECT * FROM _forumThreads ORDER BY LastPostDate DESC LIMIT 16;");
while($row=mysql_fetch_assoc($sql)) {
echo "<a href=\"forum.php%3Freq%3Dthread%26id%3D$row[ID]\">" . ucwords($row['Subject']) . "</a>";
}
TOP USERS:
$sql= mysql_query("SELECT _forumUsers.ID , _forumUsers.Name , _forumPosts.User , count(*) FROM _forumPosts LEFT JOIN _forumUsers ON _forumPosts.User =_forumUsers.ID GROUP BY User HAVING _forumPosts.User >0 ORDER BY 'count(*)' DESC LIMIT 0 , 4;");
while($row=mysql_fetch_assoc($sql)) {
$query = mysql_query("SELECT User FROM _forumPosts WHERE User = '$row[User]'") or die(mysql_error());
$count = mysql_num_rows($query);
$new_id = "<b>$count</b> posts - <a href=\"forum.php%3Freq%3Dcp%26id%3D$row[ID]\">$row[Name]</a><br/>";
echo "$new_id";
}
$sql = mysql_query("SELECT * FROM _forumPosts WHERE User = 0") or die(mysql_error());
$count = mysql_num_rows($sql);
echo "Guests have posted <b>$count</b> posts";
HOT TOPICS
$time=time();
$sql = mysql_query("SELECT * FROM _forumThreads WHERE LastPostDate > ($time-250000) ORDER BY Views DESC LIMIT 4;") or die(mysql_error());
echo "<table width=\"100%\" cellspacing=\"0\" cellpadding=\"0\"><tr>";
echo "<td width=\"75%\" align=\"center\"><b>Hot Topics</b></td><td width=\"25%\" align=\"center\"><b>Viewed</b></td></tr>";
while($row = mysql_fetch_array( $sql )) {
echo "<tr><td width=\"75%\">";
echo "<a href=\"forum.php%3Freq%3Dthread%26id%3D$row[ID]\">" . stripslashes(substr($row['Subject'],0,75)) . "</a></td><td width=\"25%\">$row[Views] times</td></tr>";
}
echo "</table>";
LATEST FORUM TOPICS
$sql= mysql_query("SELECT * FROM _forumThreads ORDER BY LastPostDate DESC LIMIT 16;");
while($row=mysql_fetch_assoc($sql)) {
echo "<a href=\"forum.php%3Freq%3Dthread%26id%3D$row[ID]\">" . ucwords($row['Subject']) . "</a>";
}

Alan
Show profile
Link to this post