0 / 0 / 0
Регистрация: 09.09.2016
Сообщений: 12
|
|
1 | |
Вывод результатов тестирования28.09.2016, 19:59. Показов 2876. Ответов 18
Метки нет (Все метки)
Уважаемые форумчане! Подскажите по выводу результатов тестирования.
У меня есть 1 - массив $_POST , который выводит вопросы и ответы, выбранные, пользователем 2 - массив $result, который присваивает ответам вес от 5 до одного (15 вопросов и на каждый 5 ответов весом от 1 до 5), 3 - массив $test_all_data_result выводит весь массив теста, в т.ч. с номером ответа пользователя. Я вывел через $result, например для 6 и 7 вопроса [6] => Array ( [26] => 5 [27] => 4 [28] => 3 [29] => 2 [30] => 1 ) [7] => Array ( [31] => 5 [32] => 4 [33] => 3 [34] => 2 [35] => 1 ) - вес каждого ответа и через $_POST у меня есть номера ответов, которые дал пользователь на 6,7 вопрос Array ( [6] => 28 ), Array ( [7] => 32 ). Вопрос : как мне записать функцию $weight_answer_summ = 0; // сумма весов ответов. то есть на выходе мне должно выдать число 3+4 = 7 ( поскольку [28] => 3 и [32] => 4). Значит пользователь набрал суммарно 7 баллов я не знаю, или через foreach нужно или как-то еще указать...
0
|
28.09.2016, 19:59 | |
Ответы с готовыми решениями:
18
ТЕСТ - считывание данных из файла, вывод результатов тестирования Подсчет результатов тестирования php Сохранение результатов тестирования знаний Оценка результатов тестирования пользователя |
Фрилансер
1846 / 1342 / 599
Регистрация: 12.01.2011
Сообщений: 5,432
|
||||||
28.09.2016, 20:09 | 2 | |||||
Сообщение было отмечено LiBrus как решение
Решение
1
|
119 / 116 / 63
Регистрация: 16.09.2016
Сообщений: 354
|
||||||
28.09.2016, 20:13 | 3 | |||||
Сообщение было отмечено LiBrus как решение
Решение
без учета проверок так:
1
|
0 / 0 / 0
Регистрация: 09.09.2016
Сообщений: 12
|
||||||
28.09.2016, 20:27 [ТС] | 4 | |||||
если я правильно понял, что $it - это номер ответа, а $val - это номер вопроса, то составленная по аналогии функция выдала ошибку...
0
|
119 / 116 / 63
Регистрация: 16.09.2016
Сообщений: 354
|
|
28.09.2016, 20:35 | 5 |
LiBrus, посмотрите, что Вы в $_POST получаете
0
|
0 / 0 / 0
Регистрация: 09.09.2016
Сообщений: 12
|
||||||
28.09.2016, 21:33 [ТС] | 6 | |||||
Azdeman, моим познаниям по php 4 дня отроду, как-то нехватает матчасти, а сроки поджимают. подскажите пожалуйста, какую еще инфу мне дать, чтоб у меня все получилось, а то пока как-то никак...
в $_POST я получаю question_id (номер вопроса) и answer_id (номер ответа, который дал пользователь) Кликните здесь для просмотра всего текста
Array
( [1] => 1 [2] => 9 [3] => 15 [4] => 19 ) в $result я получаю question_id, answer_id и weight_answer (вес каждого ответа) Array ( [1] => Array ( [1] => 5 [2] => 4 [3] => 3 [4] => 2 [5] => 1 ) с помощью ф-ции $test_all_data_result я вывожу все вместе. Т.е. у меня есть связка между question_id, answer_id и weight_answer Добавлено через 34 минуты друзья, ничегошеньки не получилось... что-то я точно делаю не так...
0
|
Фрилансер
1846 / 1342 / 599
Регистрация: 12.01.2011
Сообщений: 5,432
|
||||||
28.09.2016, 22:30 | 7 | |||||
Не то.
Зачем вы это делаете? Переменные такие большие , я уже запутался
5 Добавлено через 4 минуты Тут же уже не summ , а вот
1
|
0 / 0 / 0
Регистрация: 09.09.2016
Сообщений: 12
|
||||||
28.09.2016, 22:52 [ТС] | 8 | |||||
Спасибо, что не остались равнодушными к моему вопросу, но хочу уточнить значек & перед &$weight_answer нужен? и еще $_POST = [1=>1,2=>9,3=>15,4=>19]; $result =[1=>[1=>5,2=>4,3=>3,4=>2,5=>1]]; - это я как пример написал, а так оно все не вручную, а по процедуре выводится для всех вопросов и ответов в массив. может $_POST и $result как то через фунцию вывести?
Кликните здесь для просмотра всего текста
но в таком варианте, как я написал, оно не работает. Спасибо, что не посылаете, но я правда еще очень сырой в этом...
0
|
Фрилансер
1846 / 1342 / 599
Регистрация: 12.01.2011
Сообщений: 5,432
|
||||||
28.09.2016, 23:11 | 9 | |||||
в скобках да.
И я вам как пример написал. Может Область видимости
( & ) , не понятных даже мне .. почитайте в документации. Да и про область видимость тоже.Добавлено через 4 минуты Да тут все такие , всё таки раздел php для начинающих , а не оканчивающих.
1
|
0 / 0 / 0
Регистрация: 09.09.2016
Сообщений: 12
|
|
28.09.2016, 23:39 [ТС] | 10 |
спасибо, что по полочкам, но все же смысл первых двух строчек мне не понятен ($_POST = [1=>1,2=>9,3=>15,4=>19];
$result =[1=>[1=>5,2=>4,3=>3,4=>2,5=>1]] Зачем мы их пишем, если они и так выполняются по результатам $_POST и $result. вобщем, если их оставлять , то ошибка выдается (Parse error: syntax error, unexpected '[' in E:\OpenServer\domains\localhost\testing\functions.php on line 149) (line 149 - это $_POST = [1=>1,2=>9,3=>15,4=>19]и на экране больше ничего если эти две строки убрать, то выходит сообщение Notice: Undefined variable: result in E:\OpenServer\domains\localhost\testing\functions.php on line 157 0 на line 157 - sum_result('',$result,$_POST); если и line 157 убрать, то работает все, кроме этой горе-суммы(((( вобщем, истина где-то рядом..... может мне можно как-то сбросить эти файлы свои все с базой и кто посмотрит/подскажет?
0
|
Фрилансер
1846 / 1342 / 599
Регистрация: 12.01.2011
Сообщений: 5,432
|
|||||||||||
29.09.2016, 00:04 | 11 | ||||||||||
Для примера. Для того что бы показать , что мой код работает
http://sandbox.onlinephpfuncti... cae9bd92dd А вы уже подставляйте свои массивы (которые приходят), я вам лично не запрещаю. Может кто запрещает, он отпишется , если что. Так что пока можно. Добавлено через 1 минуту Да, когда поймете как работает php. Добавлено через 59 секунд у вас старая версия PHP массивы создаются там с помощью
http://sandbox.onlinephpfuncti... 21b72e213b Без примера (тут вы просто в аргументы функции вставляйте свои значение) http://sandbox.onlinephpfuncti... 066dccd248 Добавлено через 7 минут Не определена переменная . А вы говорите что они у вас и так есть. Видать какой то нет. Проверяйте. Может название переменных не сходятся Ну вы вызов функции убрали, это как убрать колёса у машины, и садясь в нее думать что поедешь.
1
|
0 / 0 / 0
Регистрация: 09.09.2016
Сообщений: 12
|
|
29.09.2016, 00:11 [ТС] | 12 |
я не сомневался в вашем коде, я сомневался в своих способностях
спасибо, буду как-то разбираться со своим массивом. только еще одно - а как все-таки мне работать с массивом, который приходит по $_POST и $result - просто использовать ваш алгоритм без первых двух строк? больше не буду вас беспокоить, когда получится - просто отпишусь, чтоб закрыть тему.
0
|
0 / 0 / 0
Регистрация: 09.09.2016
Сообщений: 12
|
|||||||||||
29.09.2016, 23:25 [ТС] | 13 | ||||||||||
вобщем, я уже седею возле этой функции.
кто может посмотреть, прошу помочь. я сделал, что функция с наперед заданным условием в $_POST и $result Кликните здесь для просмотра всего текста
$_POST = array(1=>1,2=>9,3=>15,4=>19);
$result = array(1=>array(1=>5,2=>4,3=>3,4=>2,5=>1)); , как предложил Azdeman(за что спасибо), работает на старой версии php 5.3 с массивом array(); вот Кликните здесь для просмотра всего текста
но она не работает. прикрепляю дамп базы и функцию для понимающих, кто может подсказать так сказать по горячим следам у меня в эту сумму упирается весь результат тестирования. а так пока получается пока все впустую. спасибо всем, кто отзовется. и еще, для меня как для новичка напишите расшифровку, как она должна читаться так сказать на русском языке, а то я как обезьянка сдер ее со своего $result, а "фонетику" не чувствую. может так какая мысль прийдет
0
|
Фрилансер
1846 / 1342 / 599
Регистрация: 12.01.2011
Сообщений: 5,432
|
||||||
30.09.2016, 21:36 | 14 | |||||
Это что за запись? Так писать нельзя. У вас поидеи ошибка должна быть
что то типо сразу после дескриптора <?php прописать
http://php.net/manual/ru/language.types.array.php
0
|
0 / 0 / 0
Регистрация: 09.09.2016
Сообщений: 12
|
||||||
30.09.2016, 23:19 [ТС] | 15 | |||||
ок, иду в указанном направлении, может что прояснится. спасибо!
Добавлено через 1 час 33 минуты прочитал, переписал вроде как по уму Кликните здесь для просмотра всего текста
вот такие предупреждения Кликните здесь для просмотра всего текста
Notice: Undefined variable: answer_id in E:\OpenServer\domains\localhost\testing\functions.php on line 149
Notice: Undefined variable: weight_answer in E:\OpenServer\domains\localhost\testing\functions.php on line 150 Notice: Undefined index: in E:\OpenServer\domains\localhost\testing\functions.php on line 154 0
0
|
Фрилансер
1846 / 1342 / 599
Регистрация: 12.01.2011
Сообщений: 5,432
|
||||||
30.09.2016, 23:30 | 16 | |||||
Неопределенная переменная:
answer_id
0
|
0 / 0 / 0
Регистрация: 09.09.2016
Сообщений: 12
|
|
01.10.2016, 15:50 [ТС] | 17 |
Azdeman, я теперь чуть больше знаю, чем знал, и могу проанализировать, то, что написал. Переменные $answer_id и $weight_answer - это у меня не просто переменные, а глобальные переменные, которые существуют вне функции в БД, поэтому такие названия мне нельзя было принимать.
Я все переделаю, и потом отпишусь. Тему не закрою, пока не напишу, что у меня все работает!! Спасибо за поддержку!
0
|
0 / 0 / 0
Регистрация: 09.09.2016
Сообщений: 12
|
|
01.10.2016, 18:43 [ТС] | 18 |
ребята, если кто открывал прикрепленный архив, то прошу прощения, я там дамп БД сбросил без последнего изменения..... поэтому он не работал с ф-цией. перезаливаю и прошу модератора заменить, чтоб те, кто захочет помочь, скачали правильный...
0
|
0 / 0 / 0
Регистрация: 09.09.2016
Сообщений: 12
|
||||||||||||||||
01.10.2016, 22:55 [ТС] | 19 | |||||||||||||||
Итак, благодарность Azdeman, svs171 за то, что откликнулись.
Вст-таки вариант svs171 оказался ближе по духу, т.к. проще процедура. array_walk для меня оказался сложнее. необходимо было на вход вместо $_POST, $result подать новые $ans,$weight в функцию вывода результатов нужно было добавить переменную $res и выводить так
Кликните здесь для просмотра всего текста
и потом ниже в // вывод результатов
0
|
01.10.2016, 22:55 | |
01.10.2016, 22:55 | |
Помогаю со студенческими работами здесь
19
Задача на матрицы. Обработка результатов тестирования студентов Условия для подсчета результатов тестирования на php+MySQL Создать текстовый файл результатов тестирования локальной сети ipconfig /all Как корректно сделать подсчет результатов тестирования и сохранить их в txt формате? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |