У меня есть эти 2 таблицы:
questions answers
+-----+---------+ +------+------+---------+
| id_q| question| | id_q | id_a | answer |
+=====+=========+ +======+======+=========+
| 1 |question1| | 1 | 1 | answer1 |
+-----+---------+ +------+------+---------+
| 2 |question2| | 1 | 2 | answer2 |
+-----+---------+ +------+------+---------+
| 1 | 3 | answer3 |
+------+------+---------+
| 1 | 4 | answer4 |
+------+------+---------+
| 2 | 5 | answer5 |
+------+------+---------+
| 2 | 6 | answer6 |
+------+------+---------+
| 2 | 7 | answer7 |
+------+------+---------+
| 2 | 8 | answer8 |
+------+------+---------+
И я пытаюсь сделать форму обновления, где я мог бы обновить каждый ответ на каждый вопрос.Изображение формы ниже (номер сверху - это выбранный id_q).
На данный момент у меня есть:
this->db->SELECT('*');
this->db->FROM('answers');
this->db->WHERE('answers.id_q', $x); // $x -> variable that has the id o the selected question
this->db->UPDATE('answers', $data);
Какойочевидно, что происходит обновление всех записей в таблице, имеющих одинаковый id_q, что приводит к чему-то вроде:
answers
+------+------+---------+
| id_q | id_a | answer |
+======+======+=========+
| 1 | 1 | answer1 |
+------+------+---------+
| 1 | 2 | answer1 |
+------+------+---------+
| 1 | 3 | answer1 |
+------+------+---------+
| 1 | 4 | answer1 |
+------+------+---------+
В итоге я хотел бы получить возможность обновлять каждый ответкаждого вопроса.Уже пытались использовать временные таблицы, но безуспешно.
РЕДАКТИРОВАТЬ: я ожидаю получить, когда я обновлю ответы, как это:
https://imgur.com/a/SPg81IA
Чтобы получитьбаза данных примерно такая:
answers
+------+------+-------------+
| id_q | id_a | answer |
+======+======+=============+
| 1 | 1 | answerone |
+------+------+-------------+
| 1 | 2 | answertwo |
+------+------+-------------+
| 1 | 3 | answerthree |
+------+------+-------------+
| 1 | 4 | answerfour |
+------+------+-------------+
Но в данный момент я получаю все четыре поля с помощью answerone.