С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
-4 / 1 / 2
Регистрация: 27.02.2017
Сообщений: 205

PHP и БД. Отправка данных из checkbox в бд (желательно через запятую)

04.03.2017, 15:44. Показов 1800. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите, где ошибка, пожалуйста.. . Данные вообще не заносятся в бд из checkbox. И как сделать , чтобы через запятую заносились в бд?

HTML5
1
2
3
4
5
6
7
8
9
10
11
<form name="forma" action="" method="post">
 
  <input type="checkbox" name="pol[]" value="man"> 
   <label for="man">Парень</label><br>
  <input type="checkbox" name="pol[]" value="woman">
   <label for="woman">Девушка</label><br>
 
 
    <input type="submit" name="submit" class="submit" value="Далее" id="submit" />
 
</form>
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
<?php 
 
include("bd.php");
 
if(isset($_POST['submit']))
  
{
 
 $pol= $_POST['pol'];
 
  $id_user = $_GET['id'];
  
 
 
$result2=mysql_query("UPDATE users  SET  pol = ('$pol')  WHERE id='1' ");
 
 
if ($result2="TRUE") 
    { echo "<meta http-equiv='Refresh' content='0; URL=WOW.php?id=$id_user&act=1'>";  }
 else 
 
    { echo "Ошибка."   or die(mysql_error()); }
    
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.03.2017, 15:44
Ответы с готовыми решениями:

Удаление из базы данных через форму и php методом checkbox
Имеем форму: &lt;form action=&quot;news_drop.php&quot; method=&quot;post&quot;&gt; &lt;? $result = mysql_query(&quot;SELECT * FROM news&quot;); $myrow =...

Получить value всех отмеченных checkbox, и вывести их через запятую
Совсем забылось как обрабатывать это ,как получить value всех отмеченных checkbox и вывести их через запятую? $p4 = &quot;Categ...

Отправка данных в базу sql через php скрипт
Добрый день уважаемые программисты, столкнулись с такой проблемой: Необходимо сменять статус через выпадающий список и отправлять в...

14
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
04.03.2017, 15:49
Во-первых, замените checkbox на radio.
Во-вторых, уберите квадратные скобки в имени.
В-третьих, замените
PHP
1
if ($result2="TRUE")
На
PHP
1
if ($result2)
1
-4 / 1 / 2
Регистрация: 27.02.2017
Сообщений: 205
04.03.2017, 15:59  [ТС]
Сделал, как вы сказали, но все равно ничего не происходит.. .

HTML5
1
2
3
4
5
6
7
8
9
10
<form name="forma" action="" method="post">
 
  <input type="radio" name="pol" value="man"> 
   <label for="man">Парень</label><br>
  <input type="radio" name="pol" value="woman">
   <label for="woman">Девушка</label><br>
 
    <input type="submit" name="submit" class="submit" value="Далее" id="submit" />
 
</form>
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
<?php 
 
include("bd.php");
 
if(isset($_POST['submit']))
  
{
 
 $pol= $_POST['pol'];
 
  $id_user = $_GET['id'];
  
 
 
$result2=mysql_query("UPDATE users  SET  pol = ('$pol')  WHERE id='1' ");
 
 
if ($result2) 
    { echo "<meta http-equiv='Refresh' content='0; URL=WOW.php?id=$id_user&act=1'>";  }
 else 
 
    { echo "Ошибка."   or die(mysql_error()); }
    
}
    
 
  
?>
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
04.03.2017, 16:05
Как Вы определяете, что ничего не происходит?
0
-4 / 1 / 2
Регистрация: 27.02.2017
Сообщений: 205
04.03.2017, 16:19  [ТС]
В бд ничего не заносится, хотя связь с ним установлена правильно (другие данные, например, если взять данные из выпадающего списка- заносятся). И мне желательно с checkbox все делать, т.к. нужно, чтобы несколько данных при выборе из checkbox заносилось в бд.
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
04.03.2017, 20:54
Цитата Сообщение от Шалун Посмотреть сообщение
UPDATE users *SET *pol = ('$pol') *WHERE id='1'
ошибка в синтаксисе запроса
PHP
1
$result2=mysql_query("UPDATE users SET pol = '".$pol."' WHERE id='1'");
1
-4 / 1 / 2
Регистрация: 27.02.2017
Сообщений: 205
04.03.2017, 23:00  [ТС]
Спасибо Заработало

Но теперь заносится в бд только одно значение.. . Не знаете как это исправить?( И желательно, чтобы заносились в бд через запятую)
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
05.03.2017, 07:32
И вот это что такое?
PHP
1
echo "Ошибка." or die(mysql_error());
Хотя бы так сделайте:
PHP
1
echo "Ошибка. ", mysql_error();
1
-4 / 1 / 2
Регистрация: 27.02.2017
Сообщений: 205
05.03.2017, 15:25  [ТС]
А почему в бд заносится только одно значение? Несколько не хочет заносить.. .
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
05.03.2017, 17:38
Цитата Сообщение от Шалун Посмотреть сообщение
А почему в бд заносится только одно значение? Несколько не хочет заносить..
а как туда попадеь несколько значений? изходя из выше написаного у Вас попадет только одно значение man или woman
или Вы там еще хотите что небудь записать чего нет в вашем примере
0
-4 / 1 / 2
Регистрация: 27.02.2017
Сообщений: 205
05.03.2017, 17:44  [ТС]
Нужно, чтобы man и woman заносились. Таблица, как пример, не очень хорошо приведена. В общем интересует, как занести несколько выбранных значений в бд с помощью checkbox; пока заносится почему-то только одно выбранное значение
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
05.03.2017, 18:03
Шалун, так преведите кокретный пример, а из того что выше т.к. radio имеет одинаковый name то и можно выбрать только одно значение
0
-4 / 1 / 2
Регистрация: 27.02.2017
Сообщений: 205
05.03.2017, 18:13  [ТС]
Это тот же пример, но немого измененный благодаря вам и Para bellum:

HTML5
1
2
3
4
 <input type="checkbox" name="pol" value="man"> 
   <label for="man">Парень</label><br>
  <input type="checkbox" name="pol" value="woman">
   <label for="woman">Девушка</label><br>

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
<?php 
 
include("bd.php");
 
if(isset($_POST['submit']))
 
{
 
 $id_user = $_GET['id'];
 
 $pol= $_POST['pol'];
 
$result2=mysql_query("UPDATE users  SET  pol = '".$pol."'  WHERE id='1' ");
 
 
if ($result2) 
    { echo "<meta http-equiv='Refresh' content='0; URL=WOW.php?id=$id_user&act=1'>";  }
 else 
 
    { echo "Ошибка. ", mysql_error(); }
    
}   
 
?>

Тут и заносится почему-то одно значение, хотя выбираются одновременно два
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
05.03.2017, 20:07
Лучший ответ Сообщение было отмечено Шалун как решение

Решение

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<html>
<head></head>
<body>
<form action='' name='form' method='POST'>
<input type="checkbox" name="pol[]" value="man"> 
   <label for="man">Man</label><br>
  <input type="checkbox" name="pol[]" value="woman">
   <label for="woman">Women</label><br>
<input type='submit' name='send' value='Send value'>
</form>
</body>
</html>
<?
$out = array();
            for($i = 0; $i < count($_POST["pol"]); $i++)
                {
                    if($_POST["pol"][$i] != "") {
                $out[] = $_POST["pol"][$i];
            }
        }
    if(!empty($out))
            {
               echo  "UPDATE users SET pol = '".implode(",", $out)."' WHERE id='1'";
    }
1
-4 / 1 / 2
Регистрация: 27.02.2017
Сообщений: 205
06.03.2017, 23:37  [ТС]
Спасибо огромное за помощь! Все заработалоСейчас буду вникать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.03.2017, 23:37
Помогаю со студенческими работами здесь

Checkbox и отправка почты через outlook
Всем привет. Благодаря вам усовершенствовал свою форму в excel. И это реально облегчило жизнь всем в том числе и мне. Но постала...

Запись данных через запятую
Всем привет! Ребята подскажите в таком вопросе... В общем суть: я получаю данные со сканера штрихкодов, записываю их в textfield. И...

Обобщение данных через запятую
Добрый день. Подскажите, как решить данную задачу. Есть таблица из двух колонок, первая колонка - &quot;кадастровый номер&quot; (могут...

Ввод данных через запятую, заполнение массива
Сколько ищу, никак не могу найти. Как можно сделать так, чтобы при вводе чисел в консоль (!через запятую!) заполнялся массив из 8 значений...

Добавление уникальных данных в словарь через запятую
Добрый день! Прошу помощи в исправлении кода - у меня чего-то не получается. Суть макроса: если в ячейках первого столбика одинаковые...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
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