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 12-20-2009, 02:17 AM
Quantnet Quantnet is offline
 
Join Date: Nov 2006
Location: NYC
Posts: 649
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default How to combine 2 queries into one datastore

I have this script in /cron that will query the database and update the datastore
Code:
<?php

if (!is_object($vbulletin->db)) {
        exit;
} else {
        $db = &$vbulletin->db;
}

$totalapps    = 0;
$programstats = array();

$appresult = $db->query_read("
        SELECT programid
             , COUNT(*) AS apps
          FROM " . TABLE_PREFIX . "application
        GROUP
            BY programid
");

while ($program = $db->fetch_array($appresult)) {
        $totalapps += $program['apps'];
        $programstats[$program['programid']] = $program['apps'];
}

build_datastore(
        'appstats',
        serialize(array('total' => $totalapps, 'programs' => $programstats)),
        true
);
I'd like to extend the query and datastore a bit by adding another query
Code:
$avgtime = $db->query_read("
        SELECT programid,
        ceil(avg((resultdate-datesubmitted)/86400)) as average
          FROM application
         where finalresult ="Admit" OR
               finalresult ="Reject" AND
               resultdate > 0
               group by programid
");
Would anyone kindly advise me on how to put this extra query in the existing script and update the datastore so I can call the extra variables?

Thanks a lot
Reply With Quote
  #2  
Old 12-21-2009, 03:59 AM
Quantnet Quantnet is offline
 
Join Date: Nov 2006
Location: NYC
Posts: 649
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Can anyone help?
Thanks
Reply With Quote
  #3  
Old 12-21-2009, 06:17 AM
Adrian Schneider's Avatar
Adrian Schneider Adrian Schneider is offline
 
Join Date: Jul 2004
Posts: 2,528
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hey, still playing catch up on the emails.

This should do it:
PHP Code:
<?php

if (!is_object($vbulletin->db)) {
        exit;
} else {
        
$db = &$vbulletin->db;
}

$totalapps    0;
$averages     = array();
$programstats = array();

$appresult $db->query_read("
        SELECT programid
             , COUNT(*) AS apps
          FROM " 
TABLE_PREFIX "application
        GROUP
            BY programid
"
);

while (
$program $db->fetch_array($appresult)) {
        
$totalapps += $program['apps'];
        
$programstats[$program['programid']] = $program['apps'];
}

$avgtime $db->query_read("
        SELECT programid,
        ceil(avg((resultdate-datesubmitted)/86400)) as average
          FROM application
         where finalresult ="
Admit" OR
               finalresult ="
Reject" AND
               resultdate > 0
               group by programid
"
);

while (
$program $db->fetch_array($avgtime)) {
    
$averages[$program['programid']] = $program['average'];
}

build_datastore(
        
'appstats',
        
serialize(array('total' => $totalapps'programs' => $programstats'averages' => $averages)),
        
true
);
Cheers
Reply With Quote
  #4  
Old 12-22-2009, 03:40 AM
Quantnet Quantnet is offline
 
Join Date: Nov 2006
Location: NYC
Posts: 649
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks for your help, Adrian. There is no better person to answer this than you
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 10:36 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.03661 seconds
  • Memory Usage 2,197KB
  • Queries Executed 11 (?)
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
  • (2)bbcode_code
  • (1)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (4)post_thanks_box
  • (4)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (4)post_thanks_postbit_info
  • (4)postbit
  • (4)postbit_onlinestatus
  • (4)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
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete