Я создал простой вопросник с множественным выбором с использованием HTML, PHP и SQL, который при отправке добавляет числовые значения в таблицу, каждая из которых представляет конкретные ответы на каждый из вопросов.
Например, у меня есть четыре вопроса, и одна из представленных форм может появиться в моей ячейке базы данных как «0,1,3,1» (так ответил первый вариант «0» для Вопроса 1 и «1» для Вопроса 2 и т. Д .; ).
Теперь я пытаюсь вывести эти данные и подсчитать, сколько людей выбрало ответ на каждый вопрос.
Как я могу перебирать эти данные в таблице и получать PHP, чтобы каждый раз увеличивать какой-то массив, чтобы в итоге у меня было количество «Это многие люди ответили X для вопроса X».
Я немного запутался! Заранее спасибо.
/ * РЕДАКТИРОВАТЬ * /
Мой макет базы данных прост (возможно, где я ошибаюсь), это просто:
Анкета ID | Результаты
1 ——————– 0,1,3,2
(Не удалось получить таблицу в макете, но, надеюсь, это понятно)
Что касается того, что я пробовал до сих пор, не так много, как я не мог думать, что делать.
У меня есть два для циклов, один вложенных внутри другого, которые выполняются относительно количества вопросов, которые у меня есть, которые создают пустые массивы для каждого вопроса и ответа.
Теперь мне нужно заполнить эти массивы подсчетами того, сколько раз каждый ответ был выбран.
Почему бы не сделать это в исходном SQL, т.е.
"select question, answer, count(answer) group by question, answer"
Затем это должно вывести список ваших вопросов, ответы, которые были выбраны, и сколько раз …
Вы должны реорганизовать свою базу данных для поддержки таких запросов.
Но следующий код может помочь в то же время:
// 2 fake questionnaire copies. You will want to fetch these from your database $test = array("1,2,3", "1,1,1"); // Sum up the answers foreach ($test as $copy) { $answer_array = explode(",", $copy); foreach ($answer_array as $question => $answer) { $sum[$question][$answer]++; } } // Display the result foreach ($sum as $question => $answer_sum) { echo "Question {$question}\n"; foreach ($answer_sum as $answer => $sum) { echo "\t{$answer} answered {$sum} times\n"; } }