Александр, это запрос для определения количества тестов в курсе.
С вопросами всё немного сложнее.
Алексей, пишите запрос к БД и используйте что-нить попроще, чем block_configurable_reports, например, Ad-hoc database queries
Я тут набросал запрос для подсчета общего кол-ва вопросов в курсе, включая банки тестов, можете "допиливать"
SELECT (
SELECT COUNT(q.id)
FROM mdl_question q
WHERE q.category IN (
SELECT qc.id FROM mdl_question_categories qc WHERE qc.contextid = (
SELECT ctx.id FROM mdl_context ctx WHERE ctx.instanceid = '351'
)
)) + (
SELECT COUNT(q.id)
FROM mdl_question q
WHERE q.category IN (
SELECT qc.id FROM mdl_question_categories qc WHERE qc.contextid IN (
SELECT ctx.id FROM mdl_context ctx WHERE ctx.instanceid IN (
SELECT cm.id FROM mdl_course_modules cm WHERE cm.module = (
SELECT m.id FROM mdl_modules m WHERE m.name = 'quiz'
) AND cm.course = '351'
)
)
)
) 'Всего вопросов'
Вместо числа 351 нужно подставить ID своего курса.
Если будете использовать Ad-hoc database queries, запрос нужно отредактировать:
SELECT (
SELECT COUNT(q.id)
FROM {question} q
WHERE q.category IN (
SELECT qc.id FROM {question_categories} qc WHERE qc.contextid = (
SELECT ctx.id FROM {context} ctx WHERE ctx.instanceid = :instanceid
)
)) + (
SELECT COUNT(q.id)
FROM {question} q
WHERE q.category IN (
SELECT qc.id FROM {question_categories} qc WHERE qc.contextid IN (
SELECT ctx.id FROM {context} ctx WHERE ctx.instanceid IN (
SELECT cm.id FROM {course_modules} cm WHERE cm.module = (
SELECT m.id FROM {modules} m WHERE m.name = 'quiz'
) AND cm.course =:course
)
)
)
) 'Всего вопросов'
Запрос будет иметь два поля для ввода ID курса:
В оба вводите один и тот же ID курса, получаете общее кол-во вопросов:
ЗЫ: не проще все вопросы из банка тестов поднять в категории банка курса?