View Single Post
  #52  
Old 12-15-2000, 03:20 AM
Guest
 
Posts: n/a
Default

With a little trial-and-error, I've answered my own question. I wrote a little if-else statement that tests if the iconid is 0, and if it is, returns an empty string to a new variable; if it is not 0, an image tag is returned to the new variable.

I also noticed that, at least in Saracen's version, it has a bit at the bottom that is a hyperlink to the thread. The link says "xx comments...", where xx is the number of comments. What I didn't like is that it always says "comments", even if the number is 1, so it would read "1 comments...". I could have changed it to "comment(s)", but I went for a more sophisticated approach. Again, I wrote a little if-else statement, that tests if the number of replies is 1, and if so, returns the text "reply" to a new variable. If it isn't 1, it returns the text "replies" to the new variable. (I changed the word "comment" or "comments" to "reply" or "replies", for my own personal preference.)

You can see how both these work below. Note that this has pretty much no formatting, but thanks to Saracen's use of defining variables and calling them in the generated HTML, it is much easier to add whatever formatting you want.

Code:
<? 
include("/home/jjr512/jjr512-www/bbs/global.php");

$num_active = 7; 
$num_chars = 125;

$db=mysql_connect($servername,$dbusername,$dbpassword); 
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='8' OR forumid='11' OR forumid='12' OR forumid='13' 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); 

// split the date up a bit 
$datestr1 = substr($latest_array["dateline"],0,10); 
$datetime = substr($latest_array["dateline"],11,8); 

$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); 

$newstitle = $latest_array["title"]; 
$newsposter = $latest_array["postusername"]; 
$newsposterid = $result_thread_array["userid"]; 
$newsdate = date("D j M Y", $latest_array["dateline"]); 
$newstext = substr(strip_tags($result_thread_array["pagetext"]),0,$num_chars);
$newsthreadid = $latest_array["threadid"]; 
$newscomments = $latest_array["replycount"]; 
$threadforumid = $latest_array["forumid"];
$threadforum = $forum_info_array["title"];
$threadiconid = $latest_array["iconid"];

if ($threadiconid==0) {
 $threadicon = "";
 }
else {
 $threadicon = "<img src=\"/bbs/images/icons/icon$threadiconid.gif\" alt=\"Thread icon\">?";
 }

if ($newscomments==1) {
 $commenttext = "reply ?";
 }
else {
 $commenttext = "replies ?";
 }

print("<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"3\"><b>$threadicon$newstitle</b></font><br>"); 
print("<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\">Posted in <a href=\"http://www.jjr512.com/bbs/forumdisplay.php?forumid=$threadforumid\">$threadforum</a> by 
<a href=\"http://www.jjr512.com/bbs/member.php?action=mailform&userid=$newsposterid\">$newsposter</a> on $newsdate:
<br>\"$newstext...\"<br><a href=\"http://www.jjr512.com/bbs/showthread.php?threadid=$newsthreadid 
\">$newscomments $commenttext</a></font></br></p>"); 
} 

?>
(Note that in the first if-else statement, the one about the icons, in the else section, between the end of the image tag and the "; where it look like there's a space, it was really the HTML non-breaking space command, but I guess it got interpreted for some reason, rather than displayed literally.)

This is my first real attempt at making such big changes to a hack for php/mysql. If anyone has any suggestions on improving what I did, I'd love to hear them!

[Edited by JJR512 on 12-15-2000 at 12:24 AM]
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01169 seconds
  • Memory Usage 1,784KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_code
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • showpost_complete