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 09-01-2007, 03:28 PM
Kiint Kiint is offline
 
Join Date: Nov 2006
Posts: 191
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Php problem, not getting the result that I want. Help please

I'm currently modifying a piece of code, but I can't get it to work within vbulletin, it keeps giving me the wrong results.

What the code below is basically doing is getting a list of quests from the database, and putting them into templates and then displaying the results in a table, that part works great, but the part that isn't is the Percentage of what is complete.

For each row that it builds it should be checking another database table, adding up how many rows there are for each q_id and from working out how many of those rows are marked as complete it will make a percentage which is then passed into my template. However it doesn't process the highlighted part in the code below and gives me a value of zero for both of the variables, If i take out the IF statements it will give me results for everything (which is bad), so I know it's the conditions that are wrong...but why?

Any help is appreciated.

PHP Code:
  $result $db->query("
 
    SELECT `fname`, `id`, `q_id`, `priority`, `q_desc`, `char_id` 
    FROM quests 
    LEFT JOIN roster ON `char_id` = `id`
    WHERE `priority` > 0 AND `complete` = 0 
    ORDER BY `priority`"
);
 
     while(
$thisquest $db->fetch_array($result)) {
  
$q_id $thisquest[q_id];
 
// Find out percentage complete and store in $pct
 
    
$goal 0;
    
$current 0;
    
$goal_result $db->query("
 
    SELECT `q_compl`, `q_stepdesc` 
    FROM `quests_ext` 
    WHERE `q_id` = '
$q_id'");
 
    if(
$goal_result)
    {
     
$goal_rowset $db->fetch_array($goal_result);
     
$numrows $db->num_rows($goal_result);
 
     
$gr 0;
     while(
$gr <= $numrows) {
      
$row $goal_rowset[$gr];
 
   
// THIS PART NOT WORKING AS IT SHOULD
      
if(strlen($row[q_stepdesc]))
      {
       
$goal++;
       if(
$goal_rowset[$gr][q_compl]) 
       {
       
$current++;
       } 
      }
   
// END OF NOT WORKING CODE
 
      
$gr++;  
     }   
 
    if(
$goal != 0) {
     
$pct round(($current $goal) * 100);
     }
    else {
     
$pct 0;
     }
    if(
$pct 100$pct 100
 
 
    }
 
 
  eval(
'$questlist .= "' fetch_template('quest_questlist') . '";');
  }
  
$db->free_result($result); 
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 03:08 AM.


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.03397 seconds
  • Memory Usage 2,220KB
  • 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)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)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)showthread_list
  • (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_threadedmode.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_threaded
  • showthread_threaded_construct_link
  • 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