Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.03.2018, 21:01   #1
zepyif
Новичок
Джуниор
 
Регистрация: 28.03.2018
Сообщений: 1
По умолчанию Получить значения чекбоксов из базы данных

Добрый день, делаю тест помогите разобраться. Нужно получить значения чекбоксов вила тест=>[номера правильных ответов]. Данные берутся из базы данных. Написал код, но там проблема в том что следующий ответ затирает предыдущий. Вот код
Код:
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;
zepyif вне форума Ответить с цитированием
Старый 29.03.2018, 08:33   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

ну затираться может только в случае если
Код:
$row['question_id']
одинаков
какова структура $row и какой в реальности массив хотите получить?
не знаю - это ли надо, но может так?
Код:
$data[] = [$row['question_id'] => $row['answer_id']] ;
ADSoft вне форума Ответить с цитированием
Старый 06.04.2018, 14:29   #3
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

Я чувствую где то подвох, дайте структуру таблицы, а еще желательно с данными хоть тестовыми. Может я вопроса не понял, даже не знаю... Вам нужно получить значения чекбоксов или Вам нужно получить значения ДЛЯ чекбоксов.

Затирается говорите?
Код:
$data[$row['question_id']] = $row['answer_id'] ;
пробуйте так
Код:
$data[$row['question_id']][] = $row['answer_id'] ;
не знаю зачем это пишу, потому что плохо понимаю что Вам нужно точно. но этот код
Код:
$data[$row['question_id']] = $row['answer_id'] ;
явно имеет проблему. так как ID вопроса может иметь несколько ответов. тогда вы перезапишите в question_id последний ответ
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как обеспечить зависимость значений для ввода в поле базы данных от значения в другом поле базы данных? tuchin Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 11 28.04.2017 21:08
Массив чекбоксов, как в PHP узнать, какой из чекбоксов выбран? scalpel WordPress и другие CMS 12 06.04.2017 12:09
Как получить размер базы данных Greek9000 Общие вопросы .NET 1 02.08.2011 13:49
Как использовать значения из базы данных? c# Anton007 Общие вопросы C/C++ 1 17.05.2011 00:13
Не выводит значения из базы данных Linel PHP 13 26.02.2009 12:47