-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Probator stub #632
base: master
Are you sure you want to change the base?
Probator stub #632
Conversation
Кинул в почту предложения по этой фиче. |
Теперь кнопка тестирования показываются в тех пулах, где есть примеры. Расчёт происходит на лету (добавился JOIN к одной таблице), в принципе, как предлагал Виктор - можно и материализовать это полем |
В принципе, раз похоже будет в каком-то но виде сохранение в базу -- то можно при выводе примеров не хранить сразу и правильный ответ, чтобы не было соблазна подсмотреть и пройти безошибочно. А делать так: если получены ответы на все вопросы (без пропусков), то при нажатии на кнопку "получить результаты" отправить сразу весь массив ответов на бэкенд, там провести какие-то манипуляции (получить список верных ответов, сравнить, подготовить ответ для фронтенда) при необходимости сохранить -- что-то куда-то сохранить. |
Посмотрел код, поставил ветку локально.
|
@madfriend Саша, там выше ещё вопрос был. Есть ли смысл пересчитывать количество закрытых пулов раз в сутки или оставить как сейчас, расчёт на лету? |
По сути, мы же этим списком закрытых пулов будем оперировать на главной странице. 12 мая 2015 г., в 0:06, Andrey [email protected] написал(а):
|
Сохранение кликов надо взять из реальной разметки (там посылаются запросы к clck_log.php, насколько помню) Вместо красной/зеленой отдельной кнопки, думаю, нагляднее было бы выделение цветом кнопок с вариантами ответа (именительный, винительный). Например, если ответ правильный - оставить как есть (зеленая обводка); ответ неправильный - красная у моего ответа и зеленая у правильного. Но это все мелочи, потом могу и сам заняться стилями. Важнее сохранение / клики / приближение к реальному режиму разметки по коду. |
Вот с кликами точно проблем не будет в любом варианте. Если делать отдельную таблицу под пробные клики ( Сложнее вопрос с сохранением ответов. Как мне кажется, структура А когда мы говорим о тестировании, то предполагаем, что выдавая случайные примеры вполне вероятна ситуация, когда размечающий ответит на один и тот же. Кроме того, прежде, чем начинать кодировать -- тут очень хорошо предварительно договориться, как мы делаем. Я предлагал такую схему: кликнул "протестироваться" - тебе выдало 50 случайных ответов, ты жмёшь кнопки, клики сохраняются в базу, но ответы не сохраняются - пока не нажмёшь кнопку "получить результаты". По нажатию "получить результатат" все финальные ответы фиксируются, пачкой отправляются в базу, к ним прикрепляются верные ответы - и передаются на бекенд, который считает и выводит цифры. Альтернатива очевидна. При нажатии на "протестироваться" проверяется, нет ли неоконченного теста. Если нету -- то выбирается случайных 50 примеров, тут же сохраняется на бекенд "взяты вот эти примеры, ответов пока нет". Если есть -- вытаскивается из базы эти 50 примеров (и с ответами пользователя, если он их успел оставить, нагляднее будет: напомню, что в разметке уже отвеченные примеры не показываются при рефреше). |
cc @grandsbor |
Я это сделаю в одном из последних коммитов перед тем, как делать финальный rebase. Прошу не воспринимать текущий код фичи как финальный, это именно некий прототип, который я набросал в черновом варианте и сижу постепенно подгоняю по мере поступления требований. |
$moderator_answer_id = (int)$r['answer']; | ||
|
||
$answers[] = array($sample_id, $answer_id, $moderator_answer_id); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Здесь или странные отступы, или логическая ошибка. Где заканчивается foreach?
Кнопка "Попробовать тестовые задания" - см. issue #127
Выглядит на текущий момент как-то вот так:
Вывод результатов пока функцией alert: