0 / 0 / 0
Регистрация: 30.11.2015
Сообщений: 58

Убрать состояние checkbox

01.11.2017, 00:13. Показов 1057. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть список с чэкбоксами (больше 500 штук).

Выбранные чэкбоксы дают массив в $_POST
PHP
1
2
3
4
5
6
Array
(
    [666] => on
    [1213] => on
    [502] => on
)
Делаю проверку


PHP
1
2
3
4
5
6
7
foreach($_POST as $key => $value){
if($_POST[$key ] == 'on'){
   // Записываем в базу on в поле с соответствующим ID (ID = $key)
}else{
   // Записываем в базу off
}       
}
Но когда отмечаю, все правильно записывается. Но когда хочу с отмеченного чэкбокса убрать флажок - ничего не происходит, тоесть off не записывается. Натолкните, пожалуйста, на мысль....
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.11.2017, 00:13
Ответы с готовыми решениями:

Состояние checkbox
Добрый день. Есть список с чекбоксами, выбираю нужные мне варианты, сохраняю и все улетает в БД. Но как только перезагружаю страницу - все...

Состояние CheckBox
Доброго времени суток!Есть такой маленький вопросик. У меня есть главная форма MainForm, на которой лежит CheckBox. И мне нужно запоминать...

Состояние checkbox
Добрый день! У меня есть 3 radio checkbox, которые определяют уровень пользователя: <input type='radio' name='status1'...

7
 Аватар для Пифагор
2170 / 1653 / 840
Регистрация: 10.01.2015
Сообщений: 5,201
01.11.2017, 00:22
Davyduck, во-первых, зачем Вы сравниваете $_POST[$key ]? Достаточно сравнить $value. Во-вторых, насколько я могу судить по дампу, в массив попадают ТОЛЬКО выбранные чекбоксы. Следовательно в else условие никогда не попадет.
1
0 / 0 / 0
Регистрация: 30.11.2015
Сообщений: 58
01.11.2017, 18:57  [ТС]
Цитата Сообщение от Пифагор Посмотреть сообщение
Davyduck, во-первых, зачем Вы сравниваете $_POST[$key ]? Достаточно сравнить $value. Во-вторых, насколько я могу судить по дампу, в массив попадают ТОЛЬКО выбранные чекбоксы. Следовательно в else условие никогда не попадет.
Ну я как написал, перечитал и тоже подумал, что именно через это и не пишет. Как правильно тогда убирать эти флажки (с изминением значения в БД)? Можете подсказать?

Добавлено через 50 секунд
О $_POST[$key ] и $value понял, исправлю =)

Добавлено через 18 часов 20 минут
Переделал. Но почему-то не работает. Что на этот раз не правильно?

PHP
1
2
3
4
5
6
7
8
9
foreach ($arManufacturer as $manufacturer) { // Массив со списком перебираю, что бы получить айди каждой записи
   foreach($_POST as $key => $but){ // перебираю массив ПОСТ, что бы получить отдельно айди выбраного чекбокса
      if($manufacturer['ID'] == $key){ // проверяю, что если айди записи в списке соответствует айди выбраного чекбокса - пишу он
         // пишем в базу on
      }else{ 
         // пишем в базу off
      }
   }
}
Добавлено через 3 минуты
если удалю условие else{} то в базу пишет "ОН", но только добавляю "иначе" все перестает работать
0
767 / 323 / 157
Регистрация: 26.05.2016
Сообщений: 2,127
01.11.2017, 19:08
проверяйте все чек боксы просто сначала
а там уже разделяйте
на выделенные и не выделенные и делайте соответствующие условие
0
0 / 0 / 0
Регистрация: 30.11.2015
Сообщений: 58
01.11.2017, 21:50  [ТС]
Цитата Сообщение от andyyy Посмотреть сообщение
проверяйте все чек боксы просто сначала
Может задам тупой вопрос - а как их проверить? Ведь каждый чекбокс имеет свой айди, который соответствует айди производителя. В пост попадают только те чекбоксы, которые отмечены... чет я походу жостко туплю....
PHP
1
2
3
4
5
6
Array
(
    [666] => on
    [1213] => on
    [502] => on
)
Добавлено через 32 секунды
А как получить не отмечены чекбоксы?
0
 Аватар для Пифагор
2170 / 1653 / 840
Регистрация: 10.01.2015
Сообщений: 5,201
01.11.2017, 22:16
Davyduck, как вариант, можно проверить через JS на isChecked, создать массив из значений и передать его PHP.
Почитайте это. Вероятно, поможет.
1
767 / 323 / 157
Регистрация: 26.05.2016
Сообщений: 2,127
01.11.2017, 23:04
Цитата Сообщение от Davyduck Посмотреть сообщение
А как получить не отмечены чекбоксы?
а, я сначала не понял - ну да - не получиться(у вас в пост выбираются только отмеченные чеки) -- только через js
обычно в таких случаях все делается по другому)
просто создается вместо одного чекбокса(а лучше Radio- чтобы выбиралось только одно значение) два. в одном в value пишите on в другом off- потом ставьте начальное положение - а потом пользователь выбирает оff или on - а дальше проверки -- занесение в базу

Добавлено через 8 минут
еще вариант попробуйте(тока придумал) - если нужен один только чекбокс - сделать Input type ='hidden' со значением оф везде - а если пользователь выбирает чекбокс то пропишите условие

Если cуществует off{Занести в базу данных как off}

если существует и офф и выбранные чекбокс - занести в базу как On
1
0 / 0 / 0
Регистрация: 30.11.2015
Сообщений: 58
02.11.2017, 01:12  [ТС]
Цитата Сообщение от andyyy Посмотреть сообщение
а, я сначала не понял - ну да - не получиться(у вас в пост выбираются только отмеченные чеки) -- только через js
обычно в таких случаях все делается по другому)
просто создается вместо одного чекбокса(а лучше Radio- чтобы выбиралось только одно значение) два. в одном в value пишите on в другом off- потом ставьте начальное положение - а потом пользователь выбирает оff или on - а дальше проверки -- занесение в базу
Добавлено через 8 минут
еще вариант попробуйте(тока придумал) - если нужен один только чекбокс - сделать Input type ='hidden' со значением оф везде - а если пользователь выбирает чекбокс то пропишите условие
Если cуществует off{Занести в базу данных как off}
если существует и офф и выбранные чекбокс - занести в базу как On
Понравился Ваш вариант с использованием радио вкл и выкл... Спасибо

Добавлено через 47 секунд
Цитата Сообщение от Пифагор Посмотреть сообщение
Davyduck, как вариант, можно проверить через JS на isChecked, создать массив из значений и передать его PHP.
Почитайте это. Вероятно, поможет.
Огромное спасибо, изучаю
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.11.2017, 01:12
Помогаю со студенческими работами здесь

Состояние checkbox и JS
Здравствуйте уважаемые жители форума. Вот имеется отрывок из кода, где нужно, чтоб в зависимости от состояния checkbox'ов выводились...

Состояние CheckBox в OptionsMenu
Имею в меню чекбокс. Хочу, чтобы при нажатии на него сохранялось его состояние. Сейчас при нажатии на чекбокс он просто исчезает, а при...

Проверить состояние CheckBox
Всем привет! У меня на форме 8 чекбоксов, их имена ch0, ch1....ch7. Хочу проверить их состояние(чекед) и подсчитать кол-во включенных в...

Как сохранить состояние checkBox-a?
Есть две формы Form1 и Form2 на Form2 есть два checbox, когда я захожу на form2 активировать этот checBox не чего не происходит на form1 а...

Определить состояние CheckBox в AlertDialog
Добрый день. Необходимо определить состояние CheckBox (sumN) и после нажатия кнопки в зависимости от этого состояния выполнить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

Новые блоги и статьи
Вопросы на собеседованиях по микросервисам
ArchitectMsa 27.03.2025
Работодатели ищут не просто разработчиков, знающих базовые концепции, а специалистов, разбирающихся в тонкостях масштабирования, отказоустойчивости и производительности. Сейчас на первый план выходят. . .
Взаимодействие Python с REST API
py-thonny 27.03.2025
REST API - это архитектурный стиль взаимодействия компонентов распределённого приложения в сети. Python располагает функциональным набором инструментов для работы с REST API и основная библиотека для. . .
sshd restrictions, ssh access limitations
jigi33 26.03.2025
sshd restrictions | ssh access limitations рестрикции доступа на сервер sshd статья: https:/ / www. golinuxcloud. com/ restrict-allow-ssh-certain-users-groups-rhel
Компиляция C++ с Clang API
NullReferenced 24.03.2025
Компиляторы обычно воспринимаются как черные ящики, которые превращают исходный код в исполняемые файлы. Мы запускаем компилятор командой в терминале, и вуаля — получаем бинарник. Но что если нужно. . .
Многопоточное программировани­е в C#: Класс Thread
UnmanagedCoder 24.03.2025
Когда запускается приложение на компьютере, операционная система создаёт для него процесс - виртуальное адресное пространство. В C# этот процесс изначально получает один поток выполнения — главный. . .
SwiftUI Data Flow: Передача данных между представлениями
mobDevWorks 23.03.2025
При первом знакомстве со SwiftUI кажется, что фреймворк предлагает избыточное количество механизмов для передачи данных: @State, @Binding, @StateObject, @ObservedObject, @EnvironmentObject и другие. . . .
Моки в Java: Сравниваем Mockito, EasyMock, JMockit
Javaican 23.03.2025
Как протестировать класс, который зависит от других сложных компонентов, таких как базы данных, веб-сервисы или другие классы, с которыми и так непросто работать в тестовом окружении? Для этого и. . .
Архитектурные паттерны микросервисов: ТОП-10 шаблонов
ArchitectMsa 22.03.2025
Популярность микросервисной архитектуры объясняется множеством важных преимуществ. К примеру, она позволяет командам разработчиков работать независимо друг от друга, используя различные технологии и. . .
Оптимизация рендеринга в Unity: Сортировка миллиона спрайтов
GameUnited 22.03.2025
Помните, когда наличие сотни спрайтов в игре приводило к существенному падению производительности? Время таких ограничений уходит в прошлое. Сегодня геймдев сталкивается с задачами совершенно иного. . .
Образование и практика
Igor3D 21.03.2025
Добрый день А вот каково качество/ эффективность ВУЗовского образования? Аналитическая геометрия изучается в первом семестре и считается довольно легким курсом, что вполне справедливо. Ну хорошо,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru