function multichoice_store_answer in Quiz 6.2
Same name and namespace in other branches
- 5.2 multichoice.module \multichoice_store_answer()
- 6.6 question_types/multichoice/multichoice.module \multichoice_store_answer()
- 6.3 question_types/multichoice/multichoice.module \multichoice_store_answer()
- 6.5 question_types/multichoice/multichoice.module \multichoice_store_answer()
Store one response to a multichoice question.
Parameters
$nid: Question node id.
$vid: Question node revision id.
$rid: Result id.
$answer_id: The answer id.
$numanswers: Number of answers expected. (Unused)
1 call to multichoice_store_answer()
- multichoice_evaluate_question in ./
multichoice.module - Evaluate whether a question is correct.
File
- ./
multichoice.module, line 723 - Multiple choice question type for the Quiz module.
Code
function multichoice_store_answer($nid, $vid, $rid, $answer_id, $numanswers = 1) {
db_query("INSERT INTO {quiz_multichoice_user_answers} (question_nid, question_vid, result_id, answer_id) \n VALUES (%d, %d, %d, %d)", $nid, $vid, $rid, $answer_id);
/*
$result = db_result(db_query(
"SELECT COUNT('result_id') AS count FROM {quiz_multichoice_user_answers}
WHERE question_nid = %d AND question_vid = %d AND result_id = %d",
$nid,
$vid,
$rid
));
// If there are N results for this nid/vid/rid and the number of total answers is also N,
// then update instead of inserting. When, exactly, would this case obtain? It is impossible
// to answer the same question with the same answer twice, and we must delete retries before
// re-marking the quiz. :. This is unnecessary:
if (!empty($result) && $result == $numanswers) {
//drupal_set_message("Updating");
db_query(
"UPDATE {quiz_multichoice_user_answers} SET answer_id = %d
WHERE question_nid = %d AND question_vid = %d AND result_id = %d",
$answer_id,
$nid,
$vid,
$rid
);
}
else {
db_query(
"INSERT INTO {quiz_multichoice_user_answers} (question_nid, question_vid, result_id, answer_id)
VALUES (%d, %d, %d, %d)",
$nid,
$vid,
$rid,
$answer_id
);
}
*/
}