PDA

View Full Version : How to get the last message in an active thread


DaBuzz
03-07-2001, 06:55 PM
I'm running a version of active threads and instead of previewing the first post in the thread, I want to display the most recent (last) post in the thread.

Here is the code I'm using to get the post preview page:


<?
require("/root/path/to/config.php");

$num_active = 10;
$num_chars = 1000;

$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='21' or forumid='22' or forumid='24' or forumid='25' or forumid='26' or forumid='27' or forumid='28' or forumid='29' or forumid='30' or forumid='31' or forumid='32' or forumid='33' 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' or forumid='44' or forumid='44' or forumid='46' or forumid='47' or forumid='48' or forumid='49' or forumid='50' or forumid='51' or forumid='52' or forumid='53' or forumid='54' or forumid='55' or forumid='56' or forumid='57' or forumid='58' or forumid='59' or forumid='60' or forumid='61' or forumid='62' order by lastpost desc limit $num_active";

$resultlatest = mysql_query($querylatest,$db);

while ($latest_array = mysql_fetch_array($resultlatest)) {

// Get Forum Infomation
$query_forum = "select * from forum where forumid='$latest_array[forumid]'";
$result_forum = mysql_query($query_forum,$db);
$forum_info_array = mysql_fetch_array($result_forum);

printf("<a name=\"%s\"><HR><b>Forum</b>: %s<BR><b>Topic</b>: %s<BR>",$latest_array["threadid"],$forum_info_array["title"],$latest_array["title"]);

$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 ("<b>Author</b>: %s<BR><b>Preview</b>:<BR>%s",$latest_array["lastposter"],substr(strip_tags($result_thread_array["pagetext"]),0,$num_chars));
}

?>


I've tried a few things to fetch the last post in the thread but none seem to work. Any ideas?

TIA.

03-08-2001, 10:10 AM
You need to read through the global.php file and any included files. In these files you will find helpful things such as a class designed to handle all MySQL queries and connections. Then look at the showthread.php and see how it displays the latest thread.