Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 07-31-2006, 04:16 AM
zeroality zeroality is offline
 
Join Date: Jul 2006
Posts: 187
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Any way to optimize my code or cut down on queries?

I took this MOD:
https://vborg.vbsupport.ru/showthread.php?t=97403

And turned it into this:
Attachment 51318

I did it without any real prior knowledge of php or mySQL so I'm sure my code is very inefficient. I pieced it together from what was already in the MOD and got the rest from trial & error.

Here's the plugin code. Any feedback is appreciated, thank you.

Original Code:
Code:
// ### LATEST NEWS BY TANTAWI ############################################
		$latesta = $db->query_first('SELECT title,threadid,views,replycount FROM ' . TABLE_PREFIX . 'thread WHERE 1 AND forumid = 28 ORDER BY dateline DESC  LIMIT 1');
		$lns_show = "<a href=\"showthread.php?"  . $vbulletin->session->vars['sessionurl'] . "t=$latesta[threadid]\">$latesta[title]</a>";
My Code:
Code:
// ### LATEST NEWS BY TANTAWI ############################################
		$latesta = $db->query_first('SELECT title,threadid,views,replycount,postusername,dateline FROM ' . TABLE_PREFIX . 'thread WHERE 1 AND forumid = 28 ORDER BY dateline DESC  LIMIT 0 , 1');
		$lns_show = "<a href=\"showthread.php?"  . $vbulletin->session->vars['sessionurl'] . "t=$latesta[threadid]\">$latesta[title]</a>";
		$lnsurl_show = "<a href=\"showthread.php?"  . $vbulletin->session->vars['sessionurl'] . "t=$latesta[threadid]\">[Read More]</a>";
		$lns2_show = "<b>Replies:</b> $latesta[replycount] <b>Views:</b> $latesta[views]";
		$lns3_show = "<a href=\"http://pokerealm.net/forums/member.php?do=getinfo&username=$latesta[postusername]\">$latesta[postusername]</a>";

		$latgetpost = $db->query_first('SELECT pagetext FROM ' . TABLE_PREFIX . 'post WHERE 1 AND threadid = ' . $latesta[threadid]. ' ORDER BY dateline ASC  LIMIT 0 , 1');
		$lat_show = "$latgetpost[pagetext]";
		$postchars = 250;
		$cuttedpost = substr($latgetpost[pagetext],$postchars,1);
		if($cuttedpost !=" "){
		while($cuttedpost !=" "){
		$i=1;
		$postchars=$postchars+$i;
		$cuttedpost = substr($latgetpost[pagetext],$postchars,1);
		}
		}
		$cuttedpost = substr($latgetpost[pagetext],0,$postchars);

		$authshow = vbdate($vbulletin->options['dateformat'], $latesta['dateline']);
		$authshow2 = vbdate($vbulletin->options['timeformat'], $latesta['dateline']);

		$amtans = $db->query_first('SELECT threadcount FROM ' . TABLE_PREFIX . 'forum WHERE 1 AND forumid = 28 ORDER BY forumid DESC  LIMIT 0 , 1');
		$amt_show = "$amtans[threadcount]";
Reply With Quote
  #2  
Old 07-31-2006, 08:57 PM
zeroality zeroality is offline
 
Join Date: Jul 2006
Posts: 187
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Bump.
Reply With Quote
  #3  
Old 07-31-2006, 09:06 PM
Paul M's Avatar
Paul M Paul M is offline
 
Join Date: Sep 2004
Location: Nottingham, UK
Posts: 23,748
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

In your queries, you can remove the bold bits as per the example below;

Code:
SELECT threadcount FROM ' . TABLE_PREFIX . 'forum WHERE 1 AND forumid = 28 ORDER BY forumid DESC  LIMIT 0 , 1
'WHERE 1' is totally pointless, and the limit is unnecessary as you are using query_first.
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 04:15 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.03721 seconds
  • Memory Usage 2,198KB
  • Queries Executed 14 (?)
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
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (3)bbcode_code
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (3)post_thanks_box
  • (3)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (3)post_thanks_postbit_info
  • (3)postbit
  • (3)postbit_onlinestatus
  • (3)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_postinfo_query
  • fetch_postinfo
  • 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
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete