AFI Опубликовано 28 января, 2019 Жалоба Поделиться Опубликовано 28 января, 2019 Нужно добавить checkbox для варианта,1. Добавил checkbox в шаблон<input name="variants[export][]" value="1" type="checkbox"{if $variant->export} checked{/if}/>2. Добавил колонку export TINYINT(1) DEFAULT 0 в БД таблица s_variants3. Добавил вывод колонки в Variants.phpПроблема, если checkbox выбран значение записывается в БД, а если снять метку, то новое значение не сохраняется.(с 0 на 1 меняется, а обратно нет)В чем проблема? Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 28 января, 2019 Жалоба Поделиться Опубликовано 28 января, 2019 Причина в особенностях работы чекбокса, точнее в особеностях отправки формой его значения на сервер. При значении 0 не передается НИЧЕГО. Простейший способ решения вопроса - заменить чекбокс на select. Цитата Ссылка на сообщение Поделиться на другие сайты
AFI Опубликовано 28 января, 2019 Автор Жалоба Поделиться Опубликовано 28 января, 2019 (изменено) Насколько будет правильно если я сделаю вот такПричина в особенностях работы чекбокса, точнее в особеностях отправки формой его значения на сервер. При значении 0 не передается НИЧЕГО. Простейший способ решения вопроса - заменить чекбокс на select. if ($this->request->post('variants')) { $v = $this->request->post('variants'); if (!in_array('export', $v)) { $v['export'][] = 0; } foreach($v as $n => $va) { foreach($va as $i => $v) { if (empty($variants[$i])) { $variants[$i] = new stdClass; } $variants[$i]->$n = $v; } } } Изменено 28 января, 2019 пользователем AFI Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 28 января, 2019 Жалоба Поделиться Опубликовано 28 января, 2019 Пробуйте, тестируйте.Скорее всего, это не даст ничего хорошего... Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.