Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Каким образом лучше суммировать баллы за ответы в тесте?
Покинул форум
Сообщений всего: 7
Дата рег-ции: Сент. 2014
Помог: 0 раз(а)
Есть тест, за каждый вариант ответа аётся определённок количество баллов
Например,
- если человек на первый вопрос дал ответ:"зелёный", то за этот ответ даётся 3 балла
- если человек на первый вопрос дал ответ: "красный", то за этот ответ даётся 1 балл
То есть в конце надо проссуммировать общее количество баллов.
Каким образом это лучше сделать?
Выделить переменную и с помощью оператора IF (например: if (otvet==зелёный) { ball=3}; if (otvet==красный) { ball=1};
и так для каждого варианта вопроса суммировать баллы за ответы...но это мне кажется слишком громоздко
Или как вообще это лучше сделать????
difight
Отправлено: 08 Сентября, 2014 - 14:27:42
Посетитель
Покинул форум
Сообщений всего: 355
Дата рег-ции: Нояб. 2011
Помог: 3 раз(а)
Смотря как это у вас все реализовано, а так я бы делал так, сделал селект с 2умя ответами например так
В результате при отправке формы у вас в переменную со значение rating попадет значение value, и его уже записывайте в базу, а потом суммируйте как хотите, если уже эти результате в базе со значениями зеленый красный, то да через if только, по другому не знаю как
RickMan
Отправлено: 08 Сентября, 2014 - 14:31:29
Участник
Покинул форум
Сообщений всего: 1033
Дата рег-ции: Май 2012
Помог: 30 раз(а)
А что мешает на странице заменить value на 100500 и получить 100500 баллов из 100 ?)
Покинул форум
Сообщений всего: 355
Дата рег-ции: Нояб. 2011
Помог: 3 раз(а)
RickMan пишет:
А что мешает на странице заменить value на 100500 и получить 100500 баллов из 100 ?)
Ниче не мешает, можно сделать проверки при обработки результатов, или в идеале хранить все виды райтингов в базе и по айдишнику получать значение выбранного поля Тут уж хозяин барин =)
mxup
Отправлено: 08 Сентября, 2014 - 14:36:04
Новичок
Покинул форум
Сообщений всего: 7
Дата рег-ции: Сент. 2014
Помог: 0 раз(а)
да дело в том что систему самого голосования я изменить не могу, только принимаю ответы в виде "красный", "зелёный", "не знаю" , "квадратный" и т.п. через POST
Tyoma5891
Отправлено: 08 Сентября, 2014 - 14:37:11
Частый посетитель
Покинул форум
Сообщений всего: 621
Дата рег-ции: Авг. 2013
Помог: 5 раз(а)
mxup пишет:
систему самого голосования
что это значит?
difight
Отправлено: 08 Сентября, 2014 - 14:37:57
Посетитель
Покинул форум
Сообщений всего: 355
Дата рег-ции: Нояб. 2011
Помог: 3 раз(а)
mxup пишет:
да дело в том что систему самого голосования я изменить не могу, только принимаю ответы в виде "красный", "зелёный", "не знаю" , "квадратный" и т.п. через POST
Ну тогда через if фигаш, другого выхода не вижу =) Опять же не понятно откуда ты принимаешь эти ответы ? С базы ?
Мелкий
Отправлено: 08 Сентября, 2014 - 15:19:51
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Да дело в том, что есть вопросы с иллюстрациями (картинками) и там например 5 вариантов ответа: "Вариант 1" , "Вариант 2" ,"Вариант 3".....
И в разных вопросах за один и тот же вариант ответа может даваться разное количество баллов.
Мелкий
Отправлено: 09 Сентября, 2014 - 11:42:31
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Но вы-то знаете:
0) за какой ответ какого вопроса даётся сколько баллов
1) на какой вопрос какой пришёл ответ
Простейшая матрица: [вопрос][ответ] => количество баллов
Просто, читаемо. Если в массиве такой элемент - добавили в итог столько-то баллов.
----- PostgreSQL DBA
mxup
Отправлено: 10 Сентября, 2014 - 10:40:43
Новичок
Покинул форум
Сообщений всего: 7
Дата рег-ции: Сент. 2014
Помог: 0 раз(а)
Мелкий пишет:
Но вы-то знаете:
0) за какой ответ какого вопроса даётся сколько баллов
1) на какой вопрос какой пришёл ответ
Простейшая матрица: [вопрос][ответ] => количество баллов
Просто, читаемо. Если в массиве такой элемент - добавили в итог столько-то баллов.
А можете пожалуйста этот код немного изменить под мой тип массива с овтетами
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.