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 04-11-2004, 12:22 AM
AN-net's Avatar
AN-net AN-net is offline
 
Join Date: Dec 2003
Location: AnimationTalk.com
Posts: 2,367
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Need help

hey guys, well see im trying to make it so for each question it will show all answers for that question but for some reason it is carrying over the questions from the last question and add those answers together.

see attachment for exmaple

heres my code:
PHP Code:
        $fquestions$DB_site->query("SELECT question,question_id FROM ".TABLE_PREFIX."quiz_questions WHERE quiz_id='".$_REQUEST['q']."' AND active='1'");
        while(
$question$DB_site->fetch_array($fquestions))
        {
            
$fanswers$DB_site->query("SELECT answer,correct FROM ".TABLE_PREFIX."quiz_answers WHERE quiz_id='".$_REQUEST['q']."' AND question_id='".$question[question_id]."' AND active='1'");
            while(
$answer$DB_site->fetch_array($fanswers))
            {
                
exec_switch_bg();
                eval(
'$ansbits .= "' fetch_template('quiz_correctansbits') . '";');
            }
            
$DB_site->free_result($fanswers);
            
$userans$DB_site->query_first("SELECT quiz_answers.correct AS useranscorrect,quiz_answers.answer AS userans FROM ".TABLE_PREFIX."quiz_useranswers LEFT JOIN quiz_answers ON (quiz_useranswers.answer_id=quiz_answers.answer_id) WHERE quiz_useranswers.quiz_id='".$_REQUEST['q']."' AND quiz_useranswers.question_id='".$question['question_id']."'");
            eval(
'$questionbits .= "' fetch_template('quiz_statquestionbits') . '";');
        }
        eval(
'print_output("' fetch_template('quiz_qbstatistics') . '");'); 
Attached Images
File Type: gif problem_quiz.gif (22.8 KB, 0 views)
Reply With Quote
  #2  
Old 04-11-2004, 09:44 PM
AN-net's Avatar
AN-net AN-net is offline
 
Join Date: Dec 2003
Location: AnimationTalk.com
Posts: 2,367
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

anyone?
Reply With Quote
  #3  
Old 04-12-2004, 01:56 AM
Velocd's Avatar
Velocd Velocd is offline
 
Join Date: Mar 2002
Location: CA University
Posts: 1,696
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

First off, never put a DB query (you have two, which is even worse) into a while loop of another DB query.

Bad news, as it could call hundreds of queries thus slowing your system down.

If you've tried LEFT JOIN'ing tables and that doesn't prove successful, there is usually a way to make arrays containing the data you want from each query, and then you can make one main loop and iterate through the arrays and sort the data.

Hard to explain so I'll try to give an example.

But first, how is this setup? Looks like you have a table for questions, a table for correct answers, and a table for user answers.

How about combining the first two tables, questions and correct answers? Have the fields in one table.
Reply With Quote
  #4  
Old 04-12-2004, 01:58 AM
AN-net's Avatar
AN-net AN-net is offline
 
Join Date: Dec 2003
Location: AnimationTalk.com
Posts: 2,367
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

it does make sense to left join the question and answer table
Reply With Quote
  #5  
Old 04-12-2004, 02:17 AM
Velocd's Avatar
Velocd Velocd is offline
 
Join Date: Mar 2002
Location: CA University
Posts: 1,696
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Although, unless I'm interpreting it wrong, it makes more sense to combine quiz_answers and quiz_questions into one table.
Reply With Quote
  #6  
Old 04-12-2004, 02:25 AM
AN-net's Avatar
AN-net AN-net is offline
 
Join Date: Dec 2003
Location: AnimationTalk.com
Posts: 2,367
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

that might get a little confusing for me though and it would make the table very large.
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:37 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.06749 seconds
  • Memory Usage 2,239KB
  • 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
  • (1)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (6)post_thanks_box
  • (6)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (6)post_thanks_postbit_info
  • (6)postbit
  • (1)postbit_attachment
  • (6)postbit_onlinestatus
  • (6)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_attachment
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete