Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/22: Рейтинг темы: голосов - 22, средняя оценка - 4.64
 Аватар для Братуха
5 / 5 / 5
Регистрация: 15.07.2012
Сообщений: 773

Как занести данные с нескольких checkbox?

28.08.2012, 13:51. Показов 4768. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем. Вот html код который у меня есть
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<div class="sol">Группа</div>
            <div class="sev">
                    <input  name="tr" value="1 id="sub_1" type="checkbox"><label for="sub_1">1-й</label>
                <br />
                    <input  name="tr" value="2" id="sub_2" type="checkbox"><label for="sub_2">2-й</label>
                <br />
                    <input  name="tr" value="3" id="sub_3" type="checkbox"><label for="sub_3">3-й</label>
                <br />
                    <input  name="tr" value="4" id="sub_4" type="checkbox"><label for="sub_4">4-й</label>
                <br />
                    <input  name="tr" value="5" id="sub_5" type="checkbox"><label for="sub_5">5-й</label>
                <br />
                    <input  name="tr" value="6" id="sub_6" type="checkbox"><label for="sub_6">6-й</label>
                <br />
                    <input  name="tr" value="7" id="sub_7" type="checkbox"><label for="sub_7">7-й</label>
                <br />
                    <input  name="tr" value="8" id="sub_8" type="checkbox"><label for="sub_8">8-й</label>
                <br />
                    <input  name="tr" value="9" id="sub_9" type="checkbox"><label for="sub_9">9-й</label>
                <br />
                    <input  name="tr" value="10" id="sub_10" type="checkbox"><label for="sub_10">10-й</label>
        </div>
У меня таких групп checkbox-сов аж 5, я хотел спросить можно ли создать таблиццу с названиями этих 5-ти групп checkbox-сов и в них заносить данные, через запятую что ли, которые выбрали посетители. Ведь тут можно выберать и все ответы, а создавать ячейку на каждый checkbox это ж какая таблица получицца? Зарание огромное спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.08.2012, 13:51
Ответы с готовыми решениями:

Как занести значения нескольких checkbox' ов в ajax?
Здравствуйте, дорогие форумчане! У меня такая проблема: Я, например, поставил галочки в нескольких чексбоксах, и их значения...

Занести в ComboBox данные из нескольких полей DBGrid
Здравствуйте! У меня такой вопрос! Можно ли в ComboBox выбрать данные из DBGrid по нескольким полям? Мне нужно чтобы можно было...

Treeview данные от нескольких checkbox передать в запись в таблице
Здравствуйте! Есть БД, частью функционала которой является учет посещений сотрудниками населенных пунктов. С указанием административной...

8
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
28.08.2012, 15:21
Цитата Сообщение от Братуха Посмотреть сообщение
я хотел спросить можно ли создать таблиццу с названиями этих 5-ти групп checkbox-сов и в них заносить данные, через запятую
можно
1
 Аватар для Братуха
5 / 5 / 5
Регистрация: 15.07.2012
Сообщений: 773
28.08.2012, 15:42  [ТС]
Цитата Сообщение от crautcher Посмотреть сообщение
можно
Если не секрет как? А главное как надо выводить их по отдельность? большое спасибо за ответ
0
67 / 60 / 25
Регистрация: 05.05.2009
Сообщений: 131
28.08.2012, 16:31
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<form method="post">
    <div class="sol">Группа 0</div>
    <div class="sev">
            <label><input  name="tr[0][]" value="1" type="checkbox">1-й</label>
        <br />
            <label><input  name="tr[0][]" value="2" type="checkbox">2-й</label>
        <br />
            <label><input  name="tr[0][]" value="3" type="checkbox">3-й</label>
    </div>
    <div class="sol">Группа 1</div>
    <div class="sev">
            <label><input  name="tr[1][]" value="1" type="checkbox">1-й</label>
        <br />
            <label><input  name="tr[1][]" value="2" type="checkbox">2-й</label>
        <br />
            <label><input  name="tr[1][]" value="3" type="checkbox">3-й</label>
    </div>
    <input type="submit" value="Send">
</form>
 
<?
echo '<pre>'.print_r($_POST, 1).'</pre>';
?>
Такая запись позволит получить массив данных по группам со всеми отмеченными галочками.
Сохранять можно и через запятую
PHP
1
2
3
4
5
6
7
8
9
10
11
12
$result = array();
if (isset($_POST['tr']) && is_array($_POST['tr']))
{
    foreach ($_POST['tr'] as $pos => $data)
    {
        if (is_array($data))
        {
            $result[$pos] = implode(',', $data);
        }
    }
}
echo '<pre>'.print_r($result, 1).'</pre>';
2
 Аватар для Братуха
5 / 5 / 5
Регистрация: 15.07.2012
Сообщений: 773
30.08.2012, 18:19  [ТС]
Цитата Сообщение от Darevill Посмотреть сообщение
HTML5
1
2
3
<form method="post">
    ....
</form>
Такая запись позволит получить массив данных по группам со всеми отмеченными галочками.
Сохранять можно и через запятую
PHP
1
2
3
4
5
$result = array();
if (isset($_POST['tr']) && is_array($_POST['tr']))
{
....
}
Помоги пожалуйста занести данные, а то что я не искал, как не пытался ничего не вышло. Заносит данные полностью в таком виде в каком выходит из скрипта Array ( [0] => 1,2,3 [1] => 1,3 ).Зарание огромное спасибо

Добавлено через 57 минут
Цитата Сообщение от Братуха Посмотреть сообщение
Помоги пожалуйста занести данные, а то что я не искал, как не пытался ничего не вышло. Заносит данные полностью в таком виде в каком выходит из скрипта Array ( [0] => 1,2,3 [1] => 1,3 ).Зарание огромное спасибо
У меня вышло гдето так
PHP
1
2
3
$comma_separated = implode(",", $result);
 
echo $comma_separated;
все значения прописанны через запятую, кроме группы к которой они относятся , в принципе мне этого не надо.
0
67 / 60 / 25
Регистрация: 05.05.2009
Сообщений: 131
30.08.2012, 18:57
Я так понял, это что-то вроде опросника. Правильнее всего - хранить все данные раздельно. Вариант через запятую можно использовать, но тогда информативность таких данных сильно снизится. Выбрать, например, сколько пользователей отметили первую галочку третьего вопроса, уже не получится (ну или будет затруднительно).

Для хранения ответов нужна таблица:
SQL
1
2
3
4
5
6
CREATE TABLE IF NOT EXISTS `answers` (
  `user_id` INT(11) NOT NULL,
  `question_id` INT(11) NOT NULL,
  `answer_id` INT(11) NOT NULL,
  PRIMARY KEY (`user_id`,`question_id`,`answer_id`)
) ENGINE=MyISAM
Запись в неё такая:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$user_id = 1;   //   Я не знаю к чему у тебя будут привязываться ответы, потому добавил ID пользователя
if (isset($_POST['tr']) && is_array($_POST['tr']))
{
    $ins = array();
    foreach ($_POST['tr'] as $pos => $data)
    {
        if (is_array($data))
        {
            foreach ($data as $answer)
            {
                $ins[] = '('.$user_id.', '.(int)$pos.', '.(int)$answer.')';
            }
        }
    }
    if (count($ins))
    {
        $q = "INSERT INTO `answers` (`user_id`, `question_id`, `answer_id`) VALUES ".implode(', ', $ins);
        mysql_query($q);
    }
}
Выборка ответов пользователя на конкретный вопрос:
SQL
1
SELECT * FROM `answers` WHERE `user_id` = 1 AND `question_id` = 1
2
 Аватар для Братуха
5 / 5 / 5
Регистрация: 15.07.2012
Сообщений: 773
30.08.2012, 20:22  [ТС]
Цитата Сообщение от Darevill Посмотреть сообщение
Выборка ответов пользователя на конкретный вопрос:
SQL
1
SELECT * FROM `answers` WHERE `user_id` = 1 AND `question_id` = 1
Это не опрос. Просто на страничке персональной информации пользователь должен выбрать категории которые ему больше подходят. А затем эти варианты выбранных чекбоксов будут отображаться на его персональной страничке для других поситителей, вот такю Спасибо за ответ буду пробовать если, что задам вопрос.

Добавлено через 19 минут
У меня порядка 70 таких чекбоксов и на каждого пользователя прийдется создовать столько полей это потом систему не нагрузит?

Добавлено через 47 минут
Хоть убей не могу обнавить данные таблиццы, я просто не знаю КАК это сделать. Мне нужен сам запрос. А данные на нажатые чекбоксы я сам выведу.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
30.08.2012, 20:31
Цитата Сообщение от Братуха Посмотреть сообщение
Хоть убей не могу обнавить данные таблиццы, я просто не знаю КАК это сделать
Работа с БД MySQL
1
67 / 60 / 25
Регистрация: 05.05.2009
Сообщений: 131
30.08.2012, 21:20
Цитата Сообщение от Братуха Посмотреть сообщение
У меня порядка 70 таких чекбоксов и на каждого пользователя прийдется создовать столько полей это потом систему не нагрузит?
Возможно может нагрузить, если будут десятки тысяч пользователей и пару миллионов записей в таблице answers.

Цитата Сообщение от Братуха Посмотреть сообщение
Хоть убей не могу обнавить данные таблиццы, я просто не знаю КАК это сделать. Мне нужен сам запрос. А данные на нажатые чекбоксы я сам выведу.
Если нужно обновить все галочки пользователя, то нужно их сначала удалить
SQL
1
DELETE FROM `answers` WHERE `user_id`=1
а затем сделать вставку как я писал раньше. Иначе при сохранении могут остаться галочки, отмеченные в прошлый раз.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.08.2012, 21:20
Помогаю со студенческими работами здесь

Как занести несколько значений checkbox в таблицу Sql
&lt;?php //Обработка чекбоксов $result = array(); if(isset($_POST) &amp;&amp; is_array($_POST)){ ...

Как занести данные
Как можно сделать чтобы после прохождения теста результат заносился в определенную графу БД в конкретное поле Вот сам тест &lt;html&gt;...

Как получить значения нескольких checkbox?
как получить значения несколько checkbox code : $query=mysql_query(&quot;SELECT * FROM `users`&quot;); ...

Как занести данные в таблицу?
Добрый вечер! Помогите пожалуйста! как занести данные в таблицу с помощью JavaScript или JQuery Есть такие поля куда вводятся ФИО и...

Как занести данные в GridView?
Доброго времени суток!!! Как занести данные в GridView не использую DataSource? Например просто занести в цикле массив? Добавлено...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru