View Single Post
  #3  
Old 04-02-2013, 03:04 AM
vBNinja's Avatar
vBNinja vBNinja is offline
 
Join Date: May 2011
Location: USA
Posts: 239
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by kh99 View Post
You could do something like this:

Code:
$result = $vbulletin->db->query("SELECT userfield.fieldX, userfield.userid FROM userfield INNER JOIN user ON user.userid =userfield.userid WHERE usergroupid IN (list_of_usergroups)");

$rendered_table = '<table>';
while ($row = $vbulletin->db->fetch_array($result))
{
   $rendered_table .= '<tr><td>' . $row['userid'] . '</td><td>' . $row['fieldX'] . '</td></tr>';
}
$rendered_table .= '</table>';

vB_Template::preRegister('template_name', array('rendered_table' => $rendered_table));

then use {vb raw rendered_table} in the template. (This assumes you want to put it in an existing template. If you're creating your own template then you'd probably use register() instead of preRegister()).




That's what the above example does, and there's no problem doing it that way. But I should mention that the convention in the vbulletin code is to put any html in a template and render the template. You could have a template for one table row, or you can save all the rows to an array and then use <vb:each> in the template to loop through them.
Awesome thanks! the code worked perfectly

My mod reads an external XML API file that retrieves values to use for the table i mentioned. But it's pretty intensive, generating the table for 5 test users currently takes ~30 seconds. So what i was thinking was to use a cron job that runs every 10 or 15 minutes with a script that opens the API, saves the values in the database (i've already managed to do this ) so that when the actual script (mymod.php) is requested, it just has to read and output the values that were already saved in the database instead of having to run the API. What i need help with is caching the to make it run faster.

Thanks again!
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01246 seconds
  • Memory Usage 1,768KB
  • 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)bbcode_quote
  • (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_onlinestatus
  • (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
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • showpost_complete