Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/47: Рейтинг темы: голосов - 47, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 01.10.2013
Сообщений: 66

Checkbox, php и mysql. Сохранить чекбокс в БД

29.03.2015, 11:49. Показов 8809. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, уважаемые форумчане!
Нужно сохранить значения чекбоксов в БД.
А именно:
Есть несколько чекбоксов в таком виде:
PHP
1
<input type="checkbox"/>
И есть скрипт соединения с БД:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$server = 'localhost';
$user = 'root';
$password = 'gJnhf76K';
 
$dblink = mysql_connect($server, $user, $password);
 
if($dblink)
echo 'Соединение установлено.';
else
die('Ошибка подключения к серверу баз данных.');
 
$database = 'ten45';
$selected = mysql_select_db($database, $dblink);
if($selected)
echo ' Подключение к базе данных прошло успешно.';
else
die(' База данных не найдена или отсутствует доступ.');
?>
Как сделать, чтобы шло сохранение в БД чекбоксов?
Пример: нажал на чекбокс. В БД сохранилось значение 1.
Убрал галочку с чекбокса - значение 0.
Буду признателен за помощь! Спасибо.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.03.2015, 11:49
Ответы с готовыми решениями:

PHP + Чекбокс + Mysql
Всем привет, прошу помочь мне по одному вопросу, так как в PHP я слабо знаю. Нужно сделать, чтобы при клике на чекбокс в некий столбец...

Как увязать вместе PHP, MySQL и checkbox
Здравствуйте. Есть форма с чекбоксами, задача такая, при выборе даты идет выборка из БД, если поле True, то чекбокс должен быть включен и...

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in z:\home\localhost\www\php\mysql.php on line 16
Не могу подключиться к базе...устал все перепроверять переписывать и пересоздавать... Я недавно тока занялся php начал изучать курс...

5
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,904
29.03.2015, 12:19
Форма с чекбоксами:
HTML5
1
2
3
4
5
<form action="" method="get">
    <input type="checkbox" name="cb1" value = "1" />Первый<br/>
    <input type="checkbox" name="cb2" value = "10" />Второй</br>
    <input type="submit" value="Сохранить" />
</form>
При нажатии на кнопку данные попадут в массив $_GET:
PHP
1
2
echo $_GET['cb1']; // Вернёт 1
echo $_GET['cb2'] // Вернёт 10
Вставка данных зависит от структуры вашей БД. Например, если есть таблица table, в которой столбцы option (номер чекбокса) и value (значение), и 2 записи (option = cb1 и option = cb2), то сделать можно так:

PHP
1
2
3
4
5
$cb1 = (!empty($_GET['cb1'])) ? (int) $_GET['cb1'] : 0; // Если чекбокс выбран - кидаем туда его значение, иначе - 0
$cb2 = (!empty($_GET['cb2'])) ? (int) $_GET['cb2'] : 0;
 
mysql_query("UPDATE `table` SET `value` = $cb1 WHERE `option` = 'cb1' "); // Обновляем 1-е значение в БД
mysql_query("UPDATE `table` SET `value` = $cb2 WHERE `option` = 'cb2' "); // Обновляем 2-е значение в БД
0
0 / 0 / 0
Регистрация: 01.10.2013
Сообщений: 66
29.03.2015, 12:33  [ТС]
Спасибо!
А можете написать SQL-запрос для данного кода?
Просто я сделал так:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
$server = 'localhost';
$user = 'root';
$password = 'gJnhf76K';
 
$dblink = mysql_connect($server, $user, $password);
 
if($dblink)
echo 'Соединение установлено.';
else
die('Ошибка подключения к серверу баз данных.');
 
$database = 'ten45';
$selected = mysql_select_db($database, $dblink);
if($selected)
echo ' Подключение к базе данных прошло успешно.';
else
die(' База данных не найдена или отсутствует доступ.');
 
echo $_GET['cb1']; // Вернёт 1
echo $_GET['cb2']; // Вернёт 10
 
$cb1 = (!empty($_GET['cb1'])) ? (int) $_GET['cb1'] : 0; // Если чекбокс выбран - кидаем туда его значение, иначе - 0
$cb2 = (!empty($_GET['cb2'])) ? (int) $_GET['cb2'] : 0;
 
mysql_query("UPDATE `tutorial_users` SET `value` = $cb1 WHERE `option` = 'cb1' "); // Обновляем 1-е значение в БД
mysql_query("UPDATE `tutorial_users` SET `value` = $cb2 WHERE `option` = 'cb2' "); // Обновляем 2-е значение в БД
?>
 
<form action="" method="get">
    <input type="checkbox" name="cb1" value = "1" />Первый<br/>
    <input type="checkbox" name="cb2" value = "10" />Второй</br>
    <input type="submit" value="Сохранить" />
</form>
Но не сохраняется, почему-то.
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,904
29.03.2015, 13:37
Таблица создана? 2 записи в ней присутствуют?
Для создания записей выполните код (только 1 раз):
PHP
1
2
mysql_query('INSERT INTO `tutorial_users` (`option`, `value`) VALUES("cb1", 0) ');
mysql_query('INSERT INTO `tutorial_users` (`option`, `value`) VALUES("cb2", 0) ');
Mysql-запросам добавьте mysql_error, чтобы видеть ошибки БД:
PHP
1
2
mysql_query("UPDATE `tutorial_users` SET `value` = $cb1 WHERE `option` = 'cb1' ") or die(mysql_error());
mysql_query("UPDATE `tutorial_users` SET `value` = $cb2 WHERE `option` = 'cb2' ") or die(mysql_error());
0
0 / 0 / 0
Регистрация: 01.10.2013
Сообщений: 66
29.03.2015, 13:45  [ТС]
Так. Все сделал, но он сохраняет только значения чекбоксов (1,2,3,4 - option).
value - все по нулям. Не сохраняет.
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,904
29.03.2015, 14:31
Подкажите полностью ваш код. Какие-нибудь ошибки есть? И что сейчас лежит в таблице (можно скриншотом phpMyAdmin)?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.03.2015, 14:31
Помогаю со студенческими работами здесь

MySql + Php + Checkbox
Доброго времени суток. У меня возник вопрос. как хранить выборочные данные Checkbox? Существует 2 базы 1level: 1 id 2 title...

Checkbox+php+MySQL
Подскажите, как заставить работать checkbox в этой конструкции, т.е. при нажатии submit, с учетом, что нажат checkbox, отправлять массив...

checkbox + php + mysql
Здравствуйте дорогие друзья! Я пишу скрипт отправки значения checkbox в базу данных, но НИКАК не получается. Код: if (isset($_POST))...

checkbox+php+mysql
Доброе время суток) Я новичок в php. Подскажите пожалуйста как передать, записать значения checkbox на сервер, как записать их в БД. ...

Checkbox+AJAX+MYSQL+PHP
Здравствуйте. ПОмогите пожалуйста. У меня есть БД с каналами и ценами. Мне необходимо чтобы при нажатии на чекбоксе считалась сумма в диве....


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru