Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > General > Member Archives
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Need help with database coding... Details »»
Need help with database coding...
Version: , by thuffner thuffner is offline
Developer Last Online: May 2011 Show Printable Version Email this Page

Version: Unknown Rating:
Released: 04-02-2003 Last Update: Never Installs: 0
 
No support by the author.

I am trying to put a "last post" feature on the index page of my website. I found this code on the site, but it doesn't seem to be working properly, as it just shows a random post from a random forum. Any ideas on how to fix the problem?

(The stars are filled in with my correct database info)

Here's the code:

<?php
$servername= "***";
$dbusername = "***";
$dbpassword ="***";
$dbname= "***";
$forumlocation= "***";

mysql_connect("***", "***", "***") or die("Couldnt find MYSQL!");
mysql_select_db("***") or die ("Couldnt find DB!");

$cekilen_mesleki=mysql_query("
select threadid, title, postusername, postuserid, dateline, forumid
from thread WHERE
visible= '1' AND (forumid='5' OR forumid='7' OR forumid='6' OR forumid='8' OR forumid='20' OR forumid='10' OR forumid='11' OR forumid='12' OR forumid='13' OR forumid='14' OR forumid='15' OR forumid='30' OR forumid='31' OR forumid='23' OR forumid='29' OR forumid='24' OR forumid='22' )
order by dateline ASC LIMIT 1
");

if (mysql_error()) {echo "mySQL error:"; echo mysql_error(); exit;}
$mesleki_number=mysql_numrows($cekilen_mesleki); //number of news fetched
if ($mesleki_number<=0) {echo "<tr><td bgcolor=\"#FFFFFF\">No New Message!</td></tr>";}//no news on database!
else {
$ii=1;
while ($gelen= mysql_fetch_row($cekilen_mesleki))
{
if ($ii % 2) {$tdcolor="#FFFFFF";} else {$tdcolor="#eeeeee";}
echo '<td><td bgcolor="'.$tdcolor.'"><font size=1 face=verdana><a href="'.$forumlocation.'showthread.php?s=&threadid ='.$gelen[0].'">'.$gelen[1]."</a><br>Last forum post by: <i>".$gelen[2]."</i> ";

echo "</td></tr>";
$ii++;
}

} //else kapa parantez
?>

Or is there another hack that is better? I have seen a hack for this in a large collection of hacks, but never as a single hack.

Thanks for any help!

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #2  
Old 04-02-2003, 05:40 PM
thuffner's Avatar
thuffner thuffner is offline
 
Join Date: Mar 2003
Posts: 203
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Can anyone help?

I figured out that code only shows the post in the forum with the highest thread number...Anyone know how to change it to the topic with the latest reply?
Reply With Quote
  #3  
Old 04-02-2003, 08:10 PM
JulianD's Avatar
JulianD JulianD is offline
 
Join Date: Jan 2002
Posts: 455
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Change this:

PHP Code:
$cekilen_mesleki=mysql_query("
select threadid, title, postusername, postuserid, dateline, forumid
from thread WHERE
visible= '1' AND (forumid='5' OR forumid='7' OR forumid='6' OR forumid='8' OR forumid='20' OR forumid='10' OR forumid='11' OR forumid='12' OR forumid='13' OR forumid='14' OR forumid='15' OR forumid='30' OR forumid='31' OR forumid='23' OR forumid='29' OR forumid='24' OR forumid='22' )
order by dateline ASC LIMIT 1
"
); 
to this

PHP Code:
$cekilen_mesleki=mysql_query("
  SELECT threadid, title, postusername, postuserid, dateline, forumid
  FROM thread
  WHERE visible='1'
  ORDER BY lastpost DESC
  LIMIT 1
"
); 
However, that code won't check for permissions, so you must include something like AND (forumid='x' OR forumid='y' OR...) in the query, so you only get the last post on your desired forums.
Reply With Quote
  #4  
Old 04-02-2003, 08:15 PM
filburt1 filburt1 is offline
 
Join Date: Feb 2002
Location: Maryland, US
Posts: 6,144
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Code:
...AND forumid IN (comma-delimited list of forumids)...
Reply With Quote
  #5  
Old 04-02-2003, 10:49 PM
thuffner's Avatar
thuffner thuffner is offline
 
Join Date: Mar 2003
Posts: 203
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Wow! It works great now!

Two more questions...Is there any way to get the date and time posted as well? And what about the post-er, not the thread starter?

Thanks again!
Reply With Quote
  #6  
Old 04-02-2003, 10:58 PM
JulianD's Avatar
JulianD JulianD is offline
 
Join Date: Jan 2002
Posts: 455
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

yeah, in the query change postusername to lastposter.
Reply With Quote
  #7  
Old 04-02-2003, 11:05 PM
JulianD's Avatar
JulianD JulianD is offline
 
Join Date: Jan 2002
Posts: 455
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

and for the last post date, it's a little complicated but here is it:

replace in the query dateline to lastpost.

Now here's the tricky part.

Put this

Code:
$gelen[4] = date("m-d-y",$gelen[4]);
Above this:

Code:
if ($ii % 2) {$tdcolor="#FFFFFF";} else {$tdcolor="#eeeeee";}
And then you can use $gelen[4] anywhere in the script and you will get the last post date.

Hope this works.
Reply With Quote
  #8  
Old 04-02-2003, 11:44 PM
thuffner's Avatar
thuffner thuffner is offline
 
Join Date: Mar 2003
Posts: 203
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

It works great! Is there any way to get the actual time on there as well? (Sorry to be so pressing, but I really appreciate this...)
Reply With Quote
  #9  
Old 04-03-2003, 12:34 AM
JulianD's Avatar
JulianD JulianD is offline
 
Join Date: Jan 2002
Posts: 455
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

OK it's easy

Just below

$gelen[4] = date("m-d-y",$gelen[4]);

put this

$timenow = date("m-d-y",time());

and now you can use $timenow anywhere on the script.
Reply With Quote
  #10  
Old 04-03-2003, 01:22 AM
filburt1 filburt1 is offline
 
Join Date: Feb 2002
Location: Maryland, US
Posts: 6,144
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You should use vbdate instead so it uses the timezone settings.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 11:00 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04672 seconds
  • Memory Usage 2,298KB
  • Queries Executed 23 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (3)bbcode_code
  • (2)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (9)postbit
  • (10)postbit_onlinestatus
  • (10)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • 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
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete