1

Тема: Checkbox в PHPMyAdmin

Всем привет! Возник такой вопрос. Передаю в базу данных из html-формы посредством php значения нескольких связанных между собой полей типа "checkbox". Всё работает, но если зайти в таблицу через PHPMyAdmin, то в поле, куда передаются эти значения написано "Array". Как сделать так, чтобы в поле были показаны перечисленные значения выбранных полей checkbox?

2

Re: Checkbox в PHPMyAdmin

У каждого элемента checkbox есть значение value, оно и передается при отправке формы. Проверьте что у вас приходит из формы.

ВКонтакте Facebook Twitter

3

Re: Checkbox в PHPMyAdmin

В том то и дело, что есть несколько элементов, у каждого своё значение value и должен передаваться список этих значений, т.е. массив, например {А,B,C,D,E}. Но вместо этого передаётся только слово "Array".

4

Re: Checkbox в PHPMyAdmin

Admin1 пишет:

есть несколько элементов, у каждого своё значение value

Покажите как это выглядит в HTML.

Если надо передать массив данных, то обычно указывают name="chk[]" и с помощью PHP уже разбирают массив $_REQUEST['chk'].
Пример смотрите здесь. http://lv.php.net/manual/ru/faq.html.php

ВКонтакте Facebook Twitter

5

Re: Checkbox в PHPMyAdmin

Вот HTML-форма:

<form name="forma" action="save.php" method="post">
Поле 1: <br><input name="f1[]" type="checkbox" value="Один">
Поле 2: <br><input name="f1[]" type="checkbox" value="Два">
Поле 3: <br><input name="f1[]" type="checkbox" value="Три">
<input name="submit" type="submit" value="Отправить">
</form>

А это php-файл обработчик:

<?php

$link = mysqli_connect("127.0.0.1", "db_1", "password", "db_1");
$f1 = $_POST['f1'];
mysqli_query($link, "INSERT INTO `Table_1` (`Pole_1`) VALUES ('$f1')");

?>

В Pole_1 таблицы Table_1 просто показывается слово "Array" и всё.

6

Re: Checkbox в PHPMyAdmin

$f1 = $_POST['f1'][0];
$f2 = $_POST['f1'][1]; // и так далее. Собрать строку из массива можно с помощью implode().

ВКонтакте Facebook Twitter

7

Re: Checkbox в PHPMyAdmin

Hanut пишет:
$f1 = $_POST['f1'][0];
$f2 = $_POST['f1'][1]; // и так далее. Собрать строку из массива можно с помощью implode().

Спасибо!) код немного пришлось поменять. Но implode() работает!