User subvertbeats answered question 1 INCORRECTLY. They entered the answer Fighter A.
User subvertbeats answered question 1 INCORRECTLY. They entered the answer Fighter A.
User Lyoto answered question 1 INCORRECTLY. They entered the answer Fighter A.
User Kamara666 answered question 1 CORRECTLY
User Nezerous answered question 1 INCORRECTLY. They entered the answer Fighter A.
User Dent answered question 1 INCORRECTLY. They entered the answer Fighter A.
User Dragonfoxy answered question 1 INCORRECTLY. They entered the answer Fighter A.
User subvertbeats answered question 2 INCORRECTLY. They entered the answer Fighter C.
User subvertbeats answered question 2 INCORRECTLY. They entered the answer Fighter C.
User Lyoto answered question 2 INCORRECTLY. They entered the answer Draw.
User Kamara666 answered question 2 CORRECTLY
User Nezerous answered question 2 INCORRECTLY. They entered the answer Fighter C.
User Dent answered question 2 CORRECTLY
User Dragonfoxy answered question 2 INCORRECTLY. They entered the answer Fighter C.
User subvertbeats answered question 3 INCORRECTLY. They entered the answer Fighter F.
User subvertbeats answered question 3 INCORRECTLY. They entered the answer Fighter F.
User Lyoto answered question 3 INCORRECTLY. They entered the answer Fighter F.
User Kamara666 answered question 3 INCORRECTLY. They entered the answer Fighter F.
User Nezerous answered question 3 INCORRECTLY. They entered the answer Fighter E.
User Dent answered question 3 CORRECTLY
User Dragonfoxy answered question 3 INCORRECTLY. They entered the answer Fighter E.
D
D
D
Array ( [377] => Array ( [0] => Question 1 incorrect (Fighter A) [1] => Question 1 incorrect (Fighter A) [2] => Question 2 incorrect (Fighter C) [3] => Question 2 incorrect (Fighter C) [4] => Question 3 incorrect (Fighter F) [5] => Question 3 incorrect (Fighter F) ) [55] => Array ( [0] => Question 1 incorrect (Fighter A) [1] => Question 2 incorrect (Draw) [2] => Question 3 incorrect (Fighter F) ) [88] => Array ( [0] => Question 1 correct [1] => Question 2 correct [2] => Question 3 incorrect (Fighter F) ) [945] => Array ( [0] => Question 1 incorrect (Fighter A) [1] => Question 2 incorrect (Fighter C) [2] => Question 3 incorrect (Fighter E) ) [2] => Array ( [0] => Question 1 incorrect (Fighter A) [1] => Question 2 correct [2] => Question 3 correct ) [967] => Array ( [0] => Question 1 incorrect (Fighter A) [1] => Question 2 incorrect (Fighter C) [2] => Question 3 incorrect (Fighter E) ) )
UQM 2.0 - Predictions Extensions
Moderator: CricketMX Forum Moderators
-
- Know-It-All
- Posts: 113
- Joined: Thu Jan 14, 2010 6:07 pm
Ok full output is:
What I'm trying to do is have it order it by user rather than by question. As you can see in that last section (Array([377....) it is working to an extent, it's just not got great formatting
Do you want me to persevere with this, or are you happy with it listing by question? (like the top of the output)
Do you want me to persevere with this, or are you happy with it listing by question? (like the top of the output)
CricketMX.com in 2022: Still the home of bat's, rat's and other farmyard animals!
"OK, life [as you chose to define it] repeats until there are no more lessons to be learned." - nrnoble (June 12, 2005)
"the new forum looks awesome, it's getting bigger & better" - p2p-sharing-rules (11 Jan, 2008)
"Looks like CMX is not only getting bigger...but, also getting better!!" - moongirl (14 Dec, 2007)
"OK, life [as you chose to define it] repeats until there are no more lessons to be learned." - nrnoble (June 12, 2005)
"the new forum looks awesome, it's getting bigger & better" - p2p-sharing-rules (11 Jan, 2008)
"Looks like CMX is not only getting bigger...but, also getting better!!" - moongirl (14 Dec, 2007)
-
- Know-It-All
- Posts: 113
- Joined: Thu Jan 14, 2010 6:07 pm
If you have the time then it would be great but I really dont want to take the mickey...
Okay then... try this:
Code: Select all
<?php
// subvertbeats_quiz.php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_quiz.' . $phpEx);
include($phpbb_root_path . 'includes/quiz_stats_class.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
if( !$auth->acl_get('a_') )
{
die('No access');
}
else
{
if( $_GET['mode'] == 'deactivate' )
{
$deactivate_id = (int) $_GET['id'];
$sql = "UPDATE " . QUIZ_TABLE . " SET quiz_deactivate = 1
WHERE quiz_id = $deactivate_id";
$db->sql_query($sql);
die('Quiz id ' . $deactivate_id . ' has been deactivated');
}
if( $_GET['mode'] == 'activate' )
{
$activate_id = (int) $_GET['id'];
$sql = "UPDATE " . QUIZ_TABLE . " SET quiz_deactivate = 0
WHERE quiz_id = $activate_id";
$db->sql_query($sql);
die('Quiz id ' . $activate_id . ' has been activated');
}
if( $_GET['mode'] == 'enter_answers' )
{
if( $_GET['a'] == 'submit' )
{
$question_id_hidden = $_POST['questions'];
$question_id_set = explode(',', $question_id_hidden);
$question_id_set_count = sizeof($question_id_set) - 1;
$users = array();
$users_information = array();
for($i = 0; $i < $question_id_set_count; $i++ )
{
$sql = 'SELECT * FROM ' . QUIZ_STATISTICS_TABLE . '
WHERE quiz_question_id = ' . $question_id_set[$i];
$result = $db->sql_query($sql);
while( $row = $db->sql_fetchrow($result) )
{
$users[$i] = $row['quiz_player'];
$user_sql = 'SELECT username FROM ' . USERS_TABLE . '
WHERE user_id = ' . $row['quiz_player'];
$user_result = $db->sql_query($user_sql);
$user_name_fetch = $db->sql_fetchfield('username');
$db->sql_freeresult($user_result);
$users[$i]['name'] = $user_name_fetch;
if( $row['quiz_answer'] == $_POST['question' . $question_id_set[$i]] )
{
echo 'User <strong>' . $user_name_fetch . '</strong> answered question <strong>' . $question_id_set[$i] . '</strong> CORRECTLY<br />';
$users_information[$user_name_fetch][] = 'Question ' . $question_id_set[$i] . ' correct';
}
else
{
echo 'User <strong>' . $user_name_fetch . '</strong> answered question <strong>' . $question_id_set[$i] . '</strong> INCORRECTLY. They entered the answer <strong>' . $row['quiz_answer'] . '</strong>.<br />';
$users_information[$user_name_fetch][] = 'Question ' . $question_id_set[$i] . ' incorrect (' . $row['quiz_answer'] . ')';
}
}
}
print_r($users_information);
die();
}
$quiz_id = (int) $_GET['id'];
$sql = 'SELECT * FROM ' . QUIZ_QUESTIONS_TABLE . '
WHERE quiz_related_id = ' . $quiz_id;
$result = $db->sql_query($sql);
echo '<form action="subvertbeats_quiz.php?mode=enter_answers&id=' . $quiz_id . '&a=submit" method="post">';
$question_id_hidden = '';
while( $row = $db->sql_fetchrow($result) )
{
$question_id_hidden .= $row['quiz_question_id'] . ',';
echo '<strong>Question: ' . $row['quiz_question'] . '</strong><br />';
// echo 'Correct answer: <input type="text" name="question' . $row['quiz_question_id'] . '" />';
echo 'Correct answer:';
$ans = 'SELECT quiz_answer FROM ' . QUIZ_DATA_TABLE . '
WHERE quiz_question_id = ' . $row['quiz_question_id'];
$ans_res = $db->sql_query($ans);
while( $ans_row = $db->sql_fetchrow($ans_res) )
{
echo '<input type="radio" value="' . $ans_row['quiz_answer'] . '" name="question' . $row['quiz_question_id'] . '" /> ' . $ans_row['quiz_answer'] . ' ';
}
echo '<br /><br />';
}
echo '<input type="hidden" value="' . $question_id_hidden . '" name="questions" />';
echo '<input type="submit" value="Submit" name="submit" />';
echo '</form>';
die(); // new
}
else
{
echo 'Mode types:<br />
<strong>subvertbeats_quiz.php?mode=deactivate&id=XXX</strong><br />
<strong>subvertbeats_quiz.php?mode=activate&id=XXX</strong><br />
<strong>subvertbeats_quiz.php?mode=enter_answers&id=XXX</strong>';
die();
}
}
?>
CricketMX.com in 2022: Still the home of bat's, rat's and other farmyard animals!
"OK, life [as you chose to define it] repeats until there are no more lessons to be learned." - nrnoble (June 12, 2005)
"the new forum looks awesome, it's getting bigger & better" - p2p-sharing-rules (11 Jan, 2008)
"Looks like CMX is not only getting bigger...but, also getting better!!" - moongirl (14 Dec, 2007)
"OK, life [as you chose to define it] repeats until there are no more lessons to be learned." - nrnoble (June 12, 2005)
"the new forum looks awesome, it's getting bigger & better" - p2p-sharing-rules (11 Jan, 2008)
"Looks like CMX is not only getting bigger...but, also getting better!!" - moongirl (14 Dec, 2007)
-
- Know-It-All
- Posts: 113
- Joined: Thu Jan 14, 2010 6:07 pm
Yep looking like its getting there
After the main result output...
After the main result output...
Array ( [subvertbeats] => Array ( [0] => Question 1 incorrect (Fighter A) [1] => Question 1 incorrect (Fighter A) [2] => Question 2 incorrect (Fighter C) [3] => Question 2 incorrect (Fighter C) [4] => Question 3 incorrect (Fighter F) [5] => Question 3 incorrect (Fighter F) ) [Lyoto] => Array ( [0] => Question 1 incorrect (Fighter A) [1] => Question 2 incorrect (Draw) [2] => Question 3 incorrect (Fighter F) ) [Kamara666] => Array ( [0] => Question 1 correct [1] => Question 2 correct [2] => Question 3 incorrect (Fighter F) ) [Nezerous] => Array ( [0] => Question 1 incorrect (Fighter A) [1] => Question 2 incorrect (Fighter C) [2] => Question 3 incorrect (Fighter E) ) [Dent] => Array ( [0] => Question 1 incorrect (Fighter A) [1] => Question 2 correct [2] => Question 3 correct ) [Dragonfoxy] => Array ( [0] => Question 1 incorrect (Fighter A) [1] => Question 2 incorrect (Fighter C) [2] => Question 3 incorrect (Fighter E) ) )
Try:
FIND
BEFORE ADD
FIND
Code: Select all
print_r($users_information);
Code: Select all
for( $j = 0, $j_count = sizeof($users); $j < $j_count; $j++ )
{
echo 'NAME: ' . $users[$j]['name'] . '<br />';
}
CricketMX.com in 2022: Still the home of bat's, rat's and other farmyard animals!
"OK, life [as you chose to define it] repeats until there are no more lessons to be learned." - nrnoble (June 12, 2005)
"the new forum looks awesome, it's getting bigger & better" - p2p-sharing-rules (11 Jan, 2008)
"Looks like CMX is not only getting bigger...but, also getting better!!" - moongirl (14 Dec, 2007)
"OK, life [as you chose to define it] repeats until there are no more lessons to be learned." - nrnoble (June 12, 2005)
"the new forum looks awesome, it's getting bigger & better" - p2p-sharing-rules (11 Jan, 2008)
"Looks like CMX is not only getting bigger...but, also getting better!!" - moongirl (14 Dec, 2007)
-
- Know-It-All
- Posts: 113
- Joined: Thu Jan 14, 2010 6:07 pm
following the main output
If this is proving to be a headache, its definitely less important than updating the statistics tablesNAME: D
NAME: D
NAME: D
Array ( [subvertbeats] => Array ( [0] => Question 1 incorrect (Fighter A) [1] => Question 1 incorrect (Fighter A) [2] => Question 2 incorrect (Fighter C) [3] => Question 2 incorrect (Fighter C) [4] => Question 3 incorrect (Fighter F) [5] => Question 3 incorrect (Fighter F) ) [Lyoto] => Array ( [0] => Question 1 incorrect (Fighter A) [1] => Question 2 incorrect (Draw) [2] => Question 3 incorrect (Fighter F) ) [Kamara666] => Array ( [0] => Question 1 correct [1] => Question 2 correct [2] => Question 3 incorrect (Fighter F) ) [Nezerous] => Array ( [0] => Question 1 incorrect (Fighter A) [1] => Question 2 incorrect (Fighter C) [2] => Question 3 incorrect (Fighter E) ) [Dent] => Array ( [0] => Question 1 incorrect (Fighter A) [1] => Question 2 correct [2] => Question 3 correct ) [Dragonfoxy] => Array ( [0] => Question 1 incorrect (Fighter A) [1] => Question 2 incorrect (Fighter C) [2] => Question 3 incorrect (Fighter E) ) )
Okay, we'll move on to the stats then. I'm having dinner now so I'll be back online in 45 minutes.
CricketMX.com in 2022: Still the home of bat's, rat's and other farmyard animals!
"OK, life [as you chose to define it] repeats until there are no more lessons to be learned." - nrnoble (June 12, 2005)
"the new forum looks awesome, it's getting bigger & better" - p2p-sharing-rules (11 Jan, 2008)
"Looks like CMX is not only getting bigger...but, also getting better!!" - moongirl (14 Dec, 2007)
"OK, life [as you chose to define it] repeats until there are no more lessons to be learned." - nrnoble (June 12, 2005)
"the new forum looks awesome, it's getting bigger & better" - p2p-sharing-rules (11 Jan, 2008)
"Looks like CMX is not only getting bigger...but, also getting better!!" - moongirl (14 Dec, 2007)
Okay, so what remains to be completed?
Is recording the statistics the only part?
Is recording the statistics the only part?
CricketMX.com in 2022: Still the home of bat's, rat's and other farmyard animals!
"OK, life [as you chose to define it] repeats until there are no more lessons to be learned." - nrnoble (June 12, 2005)
"the new forum looks awesome, it's getting bigger & better" - p2p-sharing-rules (11 Jan, 2008)
"Looks like CMX is not only getting bigger...but, also getting better!!" - moongirl (14 Dec, 2007)
"OK, life [as you chose to define it] repeats until there are no more lessons to be learned." - nrnoble (June 12, 2005)
"the new forum looks awesome, it's getting bigger & better" - p2p-sharing-rules (11 Jan, 2008)
"Looks like CMX is not only getting bigger...but, also getting better!!" - moongirl (14 Dec, 2007)
-
- Know-It-All
- Posts: 113
- Joined: Thu Jan 14, 2010 6:07 pm
I believe so yes
Other things are minor and I will try and tackle them over time.....
Other things are minor and I will try and tackle them over time.....
Okay
Did you comment out those lines in quiz.php that I mentioned in the other thread?
Did you comment out those lines in quiz.php that I mentioned in the other thread?
CricketMX.com in 2022: Still the home of bat's, rat's and other farmyard animals!
"OK, life [as you chose to define it] repeats until there are no more lessons to be learned." - nrnoble (June 12, 2005)
"the new forum looks awesome, it's getting bigger & better" - p2p-sharing-rules (11 Jan, 2008)
"Looks like CMX is not only getting bigger...but, also getting better!!" - moongirl (14 Dec, 2007)
"OK, life [as you chose to define it] repeats until there are no more lessons to be learned." - nrnoble (June 12, 2005)
"the new forum looks awesome, it's getting bigger & better" - p2p-sharing-rules (11 Jan, 2008)
"Looks like CMX is not only getting bigger...but, also getting better!!" - moongirl (14 Dec, 2007)
-
- Know-It-All
- Posts: 113
- Joined: Thu Jan 14, 2010 6:07 pm
The lines referenced here:
http://forums.cricketmx.com/viewtopic.p ... 195#p98998
?
If so, then yes, I have commented those four lines out.
http://forums.cricketmx.com/viewtopic.p ... 195#p98998
?
If so, then yes, I have commented those four lines out.
Yep, I made a mistake with one of them though. Can you leave this line uncommented:
Here's the new file:
Code: Select all
$statistical_sql[] = 'INSERT INTO ' . QUIZ_STATISTICS_TABLE . '
' . $db->sql_build_array('INSERT', $statistical_array);
Code: Select all
<?php
// subvertbeats_quiz.php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_quiz.' . $phpEx);
include($phpbb_root_path . 'includes/quiz_stats_class.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
if( !$auth->acl_get('a_') )
{
die('No access');
}
else
{
if( $_GET['mode'] == 'deactivate' )
{
$deactivate_id = (int) $_GET['id'];
$sql = "UPDATE " . QUIZ_TABLE . " SET quiz_deactivate = 1
WHERE quiz_id = $deactivate_id";
$db->sql_query($sql);
die('Quiz id ' . $deactivate_id . ' has been deactivated');
}
if( $_GET['mode'] == 'activate' )
{
$activate_id = (int) $_GET['id'];
$sql = "UPDATE " . QUIZ_TABLE . " SET quiz_deactivate = 0
WHERE quiz_id = $activate_id";
$db->sql_query($sql);
die('Quiz id ' . $activate_id . ' has been activated');
}
if( $_GET['mode'] == 'enter_answers' )
{
if( $_GET['a'] == 'submit' )
{
$question_id_hidden = $_POST['questions'];
$question_id_set = explode(',', $question_id_hidden);
$question_id_set_count = sizeof($question_id_set) - 1;
$users = array();
$users_information = array();
for($i = 0; $i < $question_id_set_count; $i++ )
{
$sql = 'SELECT * FROM ' . QUIZ_STATISTICS_TABLE . '
WHERE quiz_question_id = ' . $question_id_set[$i];
$result = $db->sql_query($sql);
while( $row = $db->sql_fetchrow($result) )
{
$users[$i] = $row['quiz_player'];
$user_sql = 'SELECT username FROM ' . USERS_TABLE . '
WHERE user_id = ' . $row['quiz_player'];
$user_result = $db->sql_query($user_sql);
$user_name_fetch = $db->sql_fetchfield('username');
$db->sql_freeresult($user_result);
$users[$i]['name'] = $user_name_fetch;
$is_correct = 0;
$is_incorrect = 0;
if( $row['quiz_answer'] == $_POST['question' . $question_id_set[$i]] )
{
echo 'User <strong>' . $user_name_fetch . '</strong> answered question <strong>' . $question_id_set[$i] . '</strong> CORRECTLY<br />';
$users_information[$user_name_fetch][] = 'Question ' . $question_id_set[$i] . ' correct';
$is_correct++;
}
else
{
echo 'User <strong>' . $user_name_fetch . '</strong> answered question <strong>' . $question_id_set[$i] . '</strong> INCORRECTLY. They entered the answer <strong>' . $row['quiz_answer'] . '</strong>.<br />';
$users_information[$user_name_fetch][] = 'Question ' . $question_id_set[$i] . ' incorrect (' . $row['quiz_answer'] . ')';
$is_incorrect++;
}
// stats
$statistical_overview_setup[] = array(
'quiz_id' => (int) $row['quiz_id'],
'quiz_correct' => (int) $is_correct,
'quiz_incorrect' => (int) $is_incorrect,
'user_id' => (int) $row['quiz_player'],
'quiz_time' => (int) 0,
);
}
}
for( $j = 0, $j_count = sizeof($users); $j < $j_count; $j++ )
{
echo 'NAME: ' . $users[$j]['name'] . '<br />';
}
print_r($users_information);
// Enter stats
$statistical_sql = 'INSERT INTO ' . QUIZ_STATISTICS_OVERVIEW_TABLE . '
' . $db->sql_build_array('INSERT', $statistical_overview_setup);
$db->sql_query($statistical_sql);
die();
}
$quiz_id = (int) $_GET['id'];
$sql = 'SELECT * FROM ' . QUIZ_QUESTIONS_TABLE . '
WHERE quiz_related_id = ' . $quiz_id;
$result = $db->sql_query($sql);
echo '<form action="subvertbeats_quiz.php?mode=enter_answers&id=' . $quiz_id . '&a=submit" method="post">';
$question_id_hidden = '';
while( $row = $db->sql_fetchrow($result) )
{
$question_id_hidden .= $row['quiz_question_id'] . ',';
echo '<strong>Question: ' . $row['quiz_question'] . '</strong><br />';
// echo 'Correct answer: <input type="text" name="question' . $row['quiz_question_id'] . '" />';
echo 'Correct answer:';
$ans = 'SELECT quiz_answer FROM ' . QUIZ_DATA_TABLE . '
WHERE quiz_question_id = ' . $row['quiz_question_id'];
$ans_res = $db->sql_query($ans);
while( $ans_row = $db->sql_fetchrow($ans_res) )
{
echo '<input type="radio" value="' . $ans_row['quiz_answer'] . '" name="question' . $row['quiz_question_id'] . '" /> ' . $ans_row['quiz_answer'] . ' ';
}
echo '<br /><br />';
}
echo '<input type="hidden" value="' . $question_id_hidden . '" name="questions" />';
echo '<input type="submit" value="Submit" name="submit" />';
echo '</form>';
die(); // new
}
else
{
echo 'Mode types:<br />
<strong>subvertbeats_quiz.php?mode=deactivate&id=XXX</strong><br />
<strong>subvertbeats_quiz.php?mode=activate&id=XXX</strong><br />
<strong>subvertbeats_quiz.php?mode=enter_answers&id=XXX</strong>';
die();
}
}
?>
CricketMX.com in 2022: Still the home of bat's, rat's and other farmyard animals!
"OK, life [as you chose to define it] repeats until there are no more lessons to be learned." - nrnoble (June 12, 2005)
"the new forum looks awesome, it's getting bigger & better" - p2p-sharing-rules (11 Jan, 2008)
"Looks like CMX is not only getting bigger...but, also getting better!!" - moongirl (14 Dec, 2007)
"OK, life [as you chose to define it] repeats until there are no more lessons to be learned." - nrnoble (June 12, 2005)
"the new forum looks awesome, it's getting bigger & better" - p2p-sharing-rules (11 Jan, 2008)
"Looks like CMX is not only getting bigger...but, also getting better!!" - moongirl (14 Dec, 2007)
-
- Know-It-All
- Posts: 113
- Joined: Thu Jan 14, 2010 6:07 pm
Thanks battye
Uncommented that line, then used your updated file for subvertbeats_quiz.php
Uncommented that line, then used your updated file for subvertbeats_quiz.php
SQL ERROR [ mysql4 ]
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) VALUES' at line 2 [1064]
SQL
INSERT INTO phpbb_quiz_statistics_overview (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) VALUES (Array, Array, Array, Array, Array, Array, Array, Array, Array, Array, Array, Array, Array, Array, Array, Array, Array, Array, Array, Array, Array)
BACKTRACE
FILE: includes/db/mysql.php
LINE: 174
CALL: dbal->sql_error()
FILE: control_quiz.php
LINE: 110
CALL: dbal_mysql->sql_query()