function _quiz_delete_results in Quiz 7.6
Same name and namespace in other branches
- 8.4 quiz.admin.inc \_quiz_delete_results()
- 6.4 quiz.admin.inc \_quiz_delete_results()
- 7 quiz.admin.inc \_quiz_delete_results()
- 7.4 quiz.admin.inc \_quiz_delete_results()
Delete a single result, or all results for a given user and a given quiz.
Parameters
$result_id: result if for the result to be deleted
$nid: Node id for the quiz the result belongs to. If set all the users results for this quiz will be deleted.
File
- ./
quiz.admin.inc, line 1348 - Administrator interface for Quiz module.
Code
function _quiz_delete_results($result_id, $nid = NULL) {
$result_ids = array();
// We are to delete all results for a certain user on a certain quiz.
if (isset($nid)) {
// TODO: We should be able to rewrite this one to use the DBTNG.
$res = db_query('SELECT result_id
FROM {quiz_node_results}
WHERE nid = :nid AND uid = (
SELECT uid
FROM {quiz_node_results}
WHERE result_id = :result_id
)', array(
':nid' => $nid,
':result_id' => $result_id,
));
while ($result = $res
->fetchField()) {
$result_ids[] = $result;
}
}
else {
$result_ids[] = $result_id;
}
entity_delete_multiple('quiz_result', $result_ids);
}