@zepy

Получить значения чекбоксов из базы данных?

Добрый день, делаю тест помогите разобраться. Нужно получить значения чекбоксов вила тест=>[номера правильных ответов]. Данные берутся из базы данных. Написал код, но там проблема в том что следующий ответ затирает предыдущий. Вот код
if( !$test ) return false;
        $connection = Yii::$app->db;
        $query = $connection->createCommand('
        SELECT q.id AS question_id, a.id AS answer_id,a.parent_question AS quest_answer
        FROM question q
        LEFT JOIN answer a
            ON q.id = a.parent_question
        LEFT JOIN test
            ON test.id = q.parent_test
                WHERE q.parent_test = :test AND a.correct_answer = :currect
        
        ')->bindValue(':test',$test)->bindValue(':currect',1);
        $modelQuery = $query->queryAll();
        $data = null;
        foreach ($modelQuery as $row )
        {
          $data[$row['question_id']] = $row['answer_id'] ;
 
 
        }
 
       return $data;
  • Вопрос задан
  • 46 просмотров
Пригласить эксперта
Ответы на вопрос 1
gromdron
@gromdron
Работаю с Bitrix24
А что Вы хотите? Вы же его явно затираете в строке:
$data[$row['question_id']] = $row['answer_id'] ;
Запихивайте массив:
$data[$row['question_id']][] = $row['answer_id'] ;

При складывании 1к1 (1 вопрос = 1 ответ) - Ваша структура подойдет, а при 1 вопрос => много ответов уже нет.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы