2014-10-01 3 views
0

Я использую Yii 2 в настоящее время, чтобы построить небольшую викторину, и я хотел проверить свой подход. Моя викторина - это один вопрос на странице, и я использую сеанс, чтобы получить все идентификаторы вопросов и ответы. Я должен добавить, у меня есть несколько викторин, поэтому идентификаторы викторины не обязательно являются инкрементальными.

Когда ответ отправлен назад, мне нужно записать идентификатор вопроса и идентификатор опции, который был выбран. Они были в формате

<input type="radio" name="6" value="12"> // 6 being the question and 12 the option_id 

Как я не знаю, что следующий вопрос, как я только увеличивающиеся ++ через массив.

Если я изменить код, чтобы быть этим

<input type="radio" name="question" value="6,12"> 

Это достойный способ, чтобы получить информацию, как я всегда буду знать, что этот вопрос называется вопросом, и я могу взорваться значение или разбить его в некоторых путь, или я должен использовать квадратные скобки?

Я не был уверен, как сделать это в Yii 2. Мой текущий код является:

echo Html::radioList('question', NULL, [$q->question_id . ',' . $q->question_option_id => $q->option], ['class' =>'radioId']); 

ответ

4

Я думаю, используя синтаксис массива может быть лучшим способом справиться с этим. Вы можете сделать массив questions и задать идентификатор вопроса ключом и иметь значение атрибута value в вашем HTML.

Я думаю, что пример кода ниже продемонстрирует это лучше всего.

Ваш HTML:

<input type="radio" name="question[6]" value="12"> 

Ваш PHP:

echo $_POST['question'][6]; // output: 12 
+0

Спасибо Джон, я думаю, что выглядит как хорошая идея. – Jonnny