View Full Version : [RELEASE] Show dead topics on non vb page
This is something I like to do on my homepage. If a post has no replies it needs attention right? I agree so I threw this little hack together that will list your dead topics.
Demo:
http://www.extremeforums.com/include/deadtopics.inc.php
<?php
// Set this to the max number of dead topics you want to display
$maxthreads = 100;
require("config.php");
$db=mysql_connect($servername,$dbusername,$dbpassw ord);
mysql_select_db($dbname);
$query = "SELECT * FROM thread WHERE replycount < 1 ORDER BY dateline DESC LIMIT $maxthreads";
$resultlatest = mysql_query($query,$db);
while ($latest_array = mysql_fetch_array($resultlatest)) {
echo "<FONT SIZE=\"1\" FACE=\"Verdana, Arial, Helvetica, sans-serif\"> °
<A HREF=\"http://www.extremeforums.com/forums/showthread.php?threadid=$latest_array[threadid]\">$latest_array[title]</A></FONT><BR>";
}
?>
Edit the echo statement and the $maxthreads variable as you see fit
~Chris
Most people dont want to display threads from private forums so you can do something like this:
$query = "SELECT * FROM thread WHERE replycount < 1 AND forumid != 34 ORDER BY dateline DESC LIMIT $maxthreads";
"34" would just be the forum id of your private forum
Once again Im not familar enough with the structure of vb right now so if anyone knows a better way please let me know
~Chris
P.S The != doesnt work on win32 systems (so ive been told) so you might want to use NOT= if your on win32
Instead of !=, just use <>
That will clear that issue up.
How did you make it so that it appears on your homepage? Did you use ssi? If so, what is the ssi code?
I put the above code in a file named "deadtopics.inc.php"
and then on my homepage (where I wanted the list to appear)i put:
include("/full/path/to/deadtopics.inc.php");
Hope this helps,
~Chris
Originally posted by TechTalk
I put the above code in a file named "deadtopics.inc.php"
and then on my homepage (where I wanted the list to appear)i put:
include("/full/path/to/deadtopics.inc.php");
Hope this helps,
~Chris
Thanks for sharing the code! It's really nice. Do people respond to this list--I mean does it do what it intends to do?
Sure no problem ;)
And yes it has really helped my users get the answers they need because every visitor to my homepage sees this list and they want to be the one to answer a question first....
~Chris
How can I exclude more then one forum?
Just use:
$query = "SELECT * FROM thread WHERE replycount < 1 AND forumid <> 21 22 23 ORDER BY dateline DESC LIMIT $maxthreads";
Forum ID 21 22 23 or how do I do it?
Another Problem:
Got some old topics in the list! But they are allready deleted? Why do the y show up an d how kann I delete them?
http://std.krawall.de/vbb/dead.php
[Edited by The_Sisko on 08-22-2000 at 06:45 PM]
[QUOTE]Originally posted by The_Sisko
How can I exclude more then one forum?
Just use:
[B]$query = "SELECT * FROM thread WHERE replycount < 1 AND forumid <> 21 22 23 ORDER BY dateline DESC LIMIT $maxthreads";
Forum ID 21 22 23 or how do I do it?
Another Problem:
Got some old topics in the list! But they are allready deleted? Why do the y show up an d how kann I delete them?
http://std.krawall.de/vbb/dead.php
[Edited by TechTalk on 08-22-2000 at 08:22 PM]
Well I tried to edit the above thread 10 times but it never would change so here we go again:
Originally posted by The_Sisko
How can I exclude more then one forum?
Just use:
$query = "SELECT * FROM thread WHERE replycount < 1 AND forumid <> 21 22 23 ORDER BY dateline DESC LIMIT $maxthreads";
Forum ID 21 22 23 or how do I do it?
Another Problem:
Got some old topics in the list! But they are allready deleted? Why do the y show up an d how kann I delete them?
http://std.krawall.de/vbb/dead.php
[Edited by The_Sisko on 08-22-2000 at 06:45 PM]
[B]$query = "SELECT * FROM thread WHERE replycount < 1 AND forumid <> 21 AND forumid <> 22 AND forumid <> 23 ORDER BY dateline DESC LIMIT $maxthreads";
Your other problem you are having is (im guessing) a problem with your database. It only selects records that exist in the database so if you deleted it then their would be no way that it would appear (because it querys the db each time and is always up to date)
Maybe someone else can shine some light on this problem?
~Chris
what's the method to include the code (display the dead topics) on a non vb page via .shtml at another webhost.
i'm hosting my vb entry page on a separate hosting account (www.entrypagehost.com/index.shtml), away from the forum (www.forumhost.com/index.php)!!
can you help me with the code, including the dead topic list on my entry page. the include("/full/path/to/deadtopics.inc.php"); method doesn't work!
thx a lot!
yours vanessa
well i got this to work at http://animeboards.net
to include the php file i did
<?php
include("/home/usr1/www.animeboards.net/htdocs/deadtopics.root.php3");
?>
and here's my deadtopics.root.php3 file
<?php
// Set this to the max number of dead topics you want to display
$maxthreads = 20;
require("/home/usr1/www.animeboards.net/htdocs/forums/admin/config.php");
$db=mysql_connect($servername,$dbusername,$dbpassw ord);
mysql_select_db($dbname);
$query = "SELECT * FROM thread WHERE replycount < 1 AND forumid != 21 AND forumid != 22 AND forumid != 23 AND forumid != 28 AND forumid != 24 AND forumid != 7 AND forumid != 13 AND forumid != 32 AND forumid != 34 AND forumid != 37 AND forumid != 5 AND forumid != 6 AND forumid != 33 AND forumid != 15 ORDER BY dateline DESC LIMIT $maxthreads";
$resultlatest = mysql_query($query,$db);
while ($latest_array = mysql_fetch_array($resultlatest)) {
echo "<FONT SIZE=\"1\" FACE=\"Verdana, Arial, Helvetica, sans-serif\">??
<A HREF=\"http://animeboards.net/forums/showthread.php?threadid=$latest_array[threadid]\">$latest_array[title]</A></FONT><BR>";
}
?>
and i believe you can't put this php code in a .shtml file unless you set your server to parse php in .shtml
you need to use .php, .php3 file for it to work... what i did was create index.php3 which includes all of the above and then include index.php3 into a index.shtml file
in the index.php3 file i had at the very top before <html> tag the following
<?
require("/home/usr1/www.animeboards.net/htdocs/forums/admin/config.php");
require("/home/usr1/www.animeboards.net/htdocs/phpads/config.inc.php3");
require("/home/usr1/www.animeboards.net/htdocs/phpads/view.inc.php3");
require("/home/usr1/www.animeboards.net/htdocs/phpads/acl.inc.php3");
chdir("/home/usr1/www.animeboards.net/htdocs/forums");
require("/home/usr1/www.animeboards.net/htdocs/forums/global.php");
?>
I want to post the top X most popular posts for the last X days. Not the most popular ever, but just for the last X days, so that the recent popular ones stay popular.
Thoughts as to how to do it?
This script seems to be very server intensive. I am using:
<?php
// Set this to the max number of dead topics you want to display
$maxthreads = 25;
require("admin/config.php");
$db=mysql_connect($servername,$dbusername,$dbpassw ord);
mysql_select_db($dbname);
$query = "SELECT * FROM thread WHERE replycount < 1 AND forumid <> 25 ORDER BY dateline DESC LIMIT $maxthreads";
$resultlatest = mysql_query($query,$db);
while ($latest_array = mysql_fetch_array($resultlatest)) {
echo "<FONT SIZE=\"1\" FACE=\"Verdana, Arial, Helvetica, sans-serif\"> °
<A HREF=\"http://forums.paintballcity.com/showthread.php?threadid=$latest_array[threadid]\">$latest_array[title]</A></FONT><BR>";
}
?>
Any one have ideas on how to make it not so server intensive.
Change SELECT * FROM
to
SELECT threadid, title FROM
Ok. What about this Active topics hack from EVA2000. Can you give me any ideas on how to optimize it:
<?
require("admin/config.php");
$num_active = 10;
$num_chars = 95;
$db=mysql_connect($servername,$dbusername,$dbpassw ord);
mysql_select_db($dbname);
$querylatest="select * from thread where forumid='1' or forumid='2' or forumid='3' or forumid='4' or forumid='5' or forumid='6' or forumid='7' or forumid='8' or forumid='9' or forumid='10' or forumid='11' or forumid='12' or forumid='13' or forumid='14' or forumid='15' or forumid='16' or forumid='17' or forumid='18' or forumid='19' or forumid='20' or forumid='22' or forumid='23' or forumid='25' or forumid='26' or forumid='27' or forumid='28' or forumid='32' or forumid='34' or forumid='35' or forumid='36' or forumid='37' or forumid='38' or forumid='39' or forumid='40' or forumid='41' or forumid='42' or forumid='43' order by lastpost desc limit $num_active";
$resultlatest = mysql_query($querylatest,$db);
print("<center><table width=\"100%%\" cellspacing=\"0\" cellpadding=\"2\">");
while ($latest_array = mysql_fetch_array($resultlatest)) {
// Get Forum Infomation
$query_forum = "select * from forum where forumid='$latest_array[forumid]' limit 1";
$result_forum = mysql_query($query_forum,$db);
$forum_info_array = mysql_fetch_array($result_forum);
printf("<tr><td colspan=\"2\" bgcolor=\"#87A4C2\"><b><font color=\"#000000\" size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\">%s: %s</font></b></td></tr>",$forum_info_array["title"],$latest_array["title"]);
// split the date up a bit
$datestr1 = substr($latest_array["dateline"],0,10);
$datetime = substr($latest_array["dateline"],11,8);
printf ("<tr valign=\"top\"><td width=\"15%%\" bgcolor=\"#B9B9B9\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"1\"><b>%s</b><br>Updated: %s<br>Replies: %s</font></td>", $latest_array["postusername"], $datetime, $latest_array["replycount"]);
$querythread="select * from post where threadid='$latest_array[threadid]' order by dateline asc limit 1";
$result_thread_text= mysql_query($querythread,$db);
$result_thread_array = mysql_fetch_array($result_thread_text);
printf ("<td width=\"85%%\" bgcolor=\"#cccccc\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"1\"><img src=\"http://forums.paintballcity.com/images/icons/icon%s.gif\"> Last Post By: %s<hr>%s...<br><a href=\"http://forums.paintballcity.com/showthread.php?threadid=%s\">Click here for more</font></td></tr>",$result_thread_array["iconid"],$latest_array["lastposter"],substr(strip_tags($result_thread_array["pagetext"]),0,$num_chars),$latest_array["threadid"]);
printf ("<tr><td colspan=\"2\" width=\"100%%\"> </td></tr>");
}
printf ("</table></center>");
?>
Thanks. :)
Rangersfan: That change makes it a bit faster, but its still pretty slow.
vBulletin® v3.8.12 by vBS, Copyright ©2000-2025, vBulletin Solutions Inc.