Получить данные overal feedback

Re: Получить данные overal feedback

от Vadim Tabunshchik -
Количество ответов: 3
Изображение пользователя Developers

Ещё замечание: feedbacktext должен выводиться в зависимости от полученной оценки, а где это в запросе?

Я вот тут «на коленке» набросал запрос, пробуйте

SELECT
     CONCAT(u.lastname,' ',u.firstname) ФИО
    ,gg.itemid
    ,gi.itemname Тест
    ,gg.finalgrade Оценка
    ,qf.feedbacktext Отзыв
FROM
    mdl_user u
    JOIN mdl_grade_grades gg ON gg.userid = u.id
    JOIN mdl_grade_items gi ON gi.id = gg.itemid
    JOIN mdl_quiz_feedback qf ON qf.quizid = gi.iteminstance
WHERE
    gi.itemmodule = 'quiz'
    AND gg.finalgrade IS NOT NULL
    AND gg.finalgrade BETWEEN qf.mingrade
    AND qf.maxgrade
    AND qf.feedbacktext <> ''
ORDER BY
    u.lastname ASC

Он выводит все попытки всех студентов по всем тестам, если есть оценка и внесены отзывы в тестах. Условия можете добавить сами (конкретный пользователь, тест и т. п.)

В ответ на Vadim Tabunshchik

Re: Получить данные overal feedback

от Daniel Morgan -

Ещё замечание: feedbacktext должен выводиться в зависимости от полученной оценки, а где это в запросе?

да, желательно, т.е. после получения оценки мы видим Feedbacktext

и еще момент, как мне сюда подцепить юзера по ID?



P.S. Все шикарно! Спасибо - теперь осталось оформить все красиво в PHP

В ответ на Daniel Morgan

Re: Получить данные overal feedback

от Vadim Tabunshchik -
Изображение пользователя Developers
теперь осталось оформить все красиво в PHP

С этого нужно было начинать. улыбаюсь Я же думал, что это нужно просто для вывода на странице, как отчет в блоке «Настраиваемые отчеты» или т. п.

А для вывода в PHP все эти запросы уже есть в Мудл и оформлены в виде функций. Подключить нужные файлы и использовать стандартные библиотеки проще и безопаснее, чем ваять что-то своё

function quiz_feedback_for_grade - Get the feedback text that should be show to a student who got this grade on this quiz. The feedback is processed ready for diplay.