"My results" by subject/topic

Events happening in the community are now at Drupal community events on www.drupal.org.
Alcaparra's picture

Hi,

I wanna show to my users their results by subject, in this way (or something like this):

Mathematics: 90 correct of 100 (90% correct)
Geography: 40 correct of 100 (40% correct)
History: 60 correct of 100 (60% correct)

In this way, an user can know which subject needs more/less review/study.

I'm using only "Multiple choice question".

I'm trying to make a view for this, but I don't get it. I need help, please :)

I'm using: Drupal 7.31, Quiz(quiz) 7.x-4.0-beta2, Quiz Multichoice(multichoice) 7.x-4.0-beta2, Views 7.x-3.8.

Comments

Hi Need some more info e.g

asghar's picture

Hi

Need some more info e.g which criteria you are using for this to collect results etc. If you describe whole information then community easily give you good response.

Imagine that I want a view

Alcaparra's picture

I have this view. It shows quiz ID, result ID, user ID and if the answer is correct or not.

mathematics|3|1|1|Yes
mathematics|3|1|1|Yes
mathematics|3|3|1|No
geography|3|3|1|No

I will filter current_user or user in the URL, user is not a problem. Now I want something like this:

mathematics|2 corrects of 3 (66% correct)
geography|0 correct of 1 (0% correct)

I'm trying to group by taxonomy term, but I get an error.

This is my current view:
$view = new view();
$view->name = 'prueba';
$view->description = '';
$view->tag = 'default';
$view->base_table = 'quiz_node_properties';
$view->human_name = 'Prueba';
$view->core = 7;
$view->api_version = '3.0';
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */

/* Display: Master /
$handler = $view->new_display('default', 'Master', 'default');
$handler->display->display_options['title'] = 'Prueba';
$handler->display->display_options['use_more_always'] = FALSE;
$handler->display->display_options['group_by'] = TRUE;
$handler->display->display_options['access']['type'] = 'none';
$handler->display->display_options['cache']['type'] = 'none';
$handler->display->display_options['query']['type'] = 'views_query';
$handler->display->display_options['exposed_form']['type'] = 'basic';
$handler->display->display_options['pager']['type'] = 'full';
$handler->display->display_options['pager']['options']['items_per_page'] = '40';
$handler->display->display_options['pager']['options']['offset'] = '0';
$handler->display->display_options['pager']['options']['id'] = '0';
$handler->display->display_options['pager']['options']['quantity'] = '9';
$handler->display->display_options['style_plugin'] = 'table';
$handler->display->display_options['style_options']['columns'] = array(
'name' => 'name',
'term_node_tid' => 'term_node_tid',
'nid' => 'nid',
'result_id' => 'result_id',
'uid' => 'uid',
'is_correct' => 'is_correct',
);
$handler->display->display_options['style_options']['default'] = '-1';
$handler->display->display_options['style_options']['info'] = array(
'name' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'term_node_tid' => array(
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'nid' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'result_id' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'uid' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'is_correct' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
);
/
Relationship: Quiz Questions: Question Node ID /
$handler->display->display_options['relationships']['child_nid']['id'] = 'child_nid';
$handler->display->display_options['relationships']['child_nid']['table'] = 'quiz_node_relationship';
$handler->display->display_options['relationships']['child_nid']['field'] = 'child_nid';
/
Relationship: Content: Taxonomy terms on node /
$handler->display->display_options['relationships']['term_node_tid']['id'] = 'term_node_tid';
$handler->display->display_options['relationships']['term_node_tid']['table'] = 'node';
$handler->display->display_options['relationships']['term_node_tid']['field'] = 'term_node_tid';
$handler->display->display_options['relationships']['term_node_tid']['relationship'] = 'child_nid';
$handler->display->display_options['relationships']['term_node_tid']['vocabularies'] = array(
'leyes' => 'leyes',
);
/
Relationship: Taxonomy term: Parent term /
$handler->display->display_options['relationships']['parent']['id'] = 'parent';
$handler->display->display_options['relationships']['parent']['table'] = 'taxonomy_term_hierarchy';
$handler->display->display_options['relationships']['parent']['field'] = 'parent';
$handler->display->display_options['relationships']['parent']['relationship'] = 'term_node_tid';
/
Field: Taxonomy term: Name /
$handler->display->display_options['fields']['name']['id'] = 'name';
$handler->display->display_options['fields']['name']['table'] = 'taxonomy_term_data';
$handler->display->display_options['fields']['name']['field'] = 'name';
$handler->display->display_options['fields']['name']['relationship'] = 'parent';
/
Field: Content: All taxonomy terms /
$handler->display->display_options['fields']['term_node_tid']['id'] = 'term_node_tid';
$handler->display->display_options['fields']['term_node_tid']['table'] = 'node';
$handler->display->display_options['fields']['term_node_tid']['field'] = 'term_node_tid';
$handler->display->display_options['fields']['term_node_tid']['relationship'] = 'child_nid';
$handler->display->display_options['fields']['term_node_tid']['label'] = 'Ley';
$handler->display->display_options['fields']['term_node_tid']['vocabularies'] = array(
'leyes' => 0,
);
/
Field: Quiz: Quiz Node NID /
$handler->display->display_options['fields']['nid']['id'] = 'nid';
$handler->display->display_options['fields']['nid']['table'] = 'quiz_node_properties';
$handler->display->display_options['fields']['nid']['field'] = 'nid';
$handler->display->display_options['fields']['nid']['label'] = 'ID del Test';
/
Field: Quiz Results: Result ID /
$handler->display->display_options['fields']['result_id']['id'] = 'result_id';
$handler->display->display_options['fields']['result_id']['table'] = 'quiz_node_results';
$handler->display->display_options['fields']['result_id']['field'] = 'result_id';
/
Field: Quiz Results: User /
$handler->display->display_options['fields']['uid']['id'] = 'uid';
$handler->display->display_options['fields']['uid']['table'] = 'quiz_node_results';
$handler->display->display_options['fields']['uid']['field'] = 'uid';
/
Field: Quiz Results by Question: Is Correct /
$handler->display->display_options['fields']['is_correct']['id'] = 'is_correct';
$handler->display->display_options['fields']['is_correct']['table'] = 'quiz_node_results_answers';
$handler->display->display_options['fields']['is_correct']['field'] = 'is_correct';
$handler->display->display_options['fields']['is_correct']['not'] = 0;
/
Contextual filter: Quiz Results: User */
$handler->display->display_options['arguments']['uid']['id'] = 'uid';
$handler->display->display_options['arguments']['uid']['table'] = 'quiz_node_results';
$handler->display->display_options['arguments']['uid']['field'] = 'uid';
$handler->display->display_options['arguments']['uid']['default_action'] = 'default';
$handler->display->display_options['arguments']['uid']['default_argument_type'] = 'current_user';
$handler->display->display_options['arguments']['uid']['summary']['number_of_records'] = '0';
$handler->display->display_options['arguments']['uid']['summary']['format'] = 'default_summary';
$handler->display->display_options['arguments']['uid']['summary_options']['items_per_page'] = '25';
$handler->display->display_options['arguments']['uid']['allow_null'] = 0;

/* Display: Page */
$handler = $view->new_display('page', 'Page', 'page');
$handler->display->display_options['path'] = 'prueba';

Quiz

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: