checkbox PHP Mysql

Maxxis

Новичок
Привет PHP club !
Вопрос состоит вот в чем :
К примеру у меня есть чекбоксы с определенными значениями,которые нужно добавить в базу.
PHP:
<input type="checkbox" name="days[]" class="other" value="Monday1" /> 
   <label class="left">Monday1</label> <br /> 
   <input type="checkbox" name="days[]" class="other" value="Tuesday1" /> 
   <label class="left">Tuesday1</label> <br /> 
   <input type="checkbox" name="days[]" class="other" value="Wednesday1" /> 
   <label class="left">Wednesday1</label> <br /> 
   <input type="checkbox" name="days[]" class="other" value="Thursday1" /> 
   <label class="left">Thursday1</label> <br /> 
   <input type="checkbox" name="days[]" class="other" value="Friday1" /> 
   <label class="left">Friday1</label> <br /> 
   <input type="checkbox" name="days[]" class="other" value="Saturday1" /> 
   <label class="left">Saturday1</label> <br /> 
   <input type="checkbox" name="days[]" class="other" value="Sunday1" /> 
   <label class="left">Sunday1</label> <br />

$days = implode(",",$_POST['days']);
Когда добавляю в Mysql ,в столбце появляются не данные,а просто Array .
Что не правильно делаю ?
Заранее спасибо !
 

Maxxis

Новичок
Теперь еще вопрос :
Я вывожу данные из базы ,
PHP:
$query="SELECT * FROM `sales` WHERE id='".$_GET['id']."'"; 
 $sql=mysql_query($query);
          $num=mysql_num_rows($sql);

	while($build_res = mysql_fetch_array($sql)) {
echo implode(",",$build_res['complectation']) ;
}
Выводит :Warning: implode(): Invalid arguments passed in ...
Как с этим разобраться ?
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
разбираются стандартно, ровно так-же как тебе сказали 2 раза вверху.
var_dump($build_res['complectation']);
Что-то мне подсказывает, что там будет string

Для достижения полного феншуя читаем
www.php.net/implode
 

Maxxis

Новичок
Продампил $build_res['complectation'] ;
В итоге вывело string(5) "Array"
Как и что дальше ? 0_о
 

Вурдалак

Продвинутый новичок
Ты пытался записать в БД массив и он превратился в строку «Array», то есть ты потерял данные.

Судя по всему, ты не воспользовался советом.
 

Maxxis

Новичок
Читал я этот совет,но все-равно ничего не пойму ...
Пример в студию пожалуйста =)
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Здесь подталкивают к __самостоятельному__ решению.
Так сложилось.
Если не понял, прочитай еще 12 с половиной раз.

Еще раз повторю.
У тебя ошибка на єтапе __сохранения__ информации в базу.
Как дебажить свои приложения - подробно описано в статье.

Если тебе это не понятно/нудно и т.д, то следует поискать другое занятие.
 

radioheaded

PHP нуб
А что ты хочешь получить в итоге? Понимаешь, что делает implode? Когда достаешь обратно, если хочешь получить снова массив, то нужна обратная операция — explode.
 

Maxxis

Новичок
А что ты хочешь получить в итоге? Понимаешь, что делает implode? Когда достаешь обратно, если хочешь получить снова массив, то нужна обратная операция — explode.
Приведу пример :
PHP:
if (is_array($_POST['CB'])){

implode(",",$_POST['CB']);
}
$advert_query="INSERT INTO  `sales` (`id` ,`mark` ,`model` ,`version` ,`initials` ,`user_id` ,`phonenumber` ,`email` ,`from` ,`case_box` ,`drive_type` ,`year` ,`style` ,`color` ,`price` ,`label` ,`gasoline_type` ,`race` ,`more_details`,`complectation`,`accident`,`customs`,`adv_date`)
VALUES (NULL,'".$_POST['mark']."','".$_POST['model']."','".$_POST['version']."','".$_POST['initials']."','".$_SESSION['uid']."','".$_POST['contacts']."','".$_POST['email']."','".$_POST['from']."','".$_POST['case_box']."','".$_POST['drive_type']."','".$_POST['year']."','".$_POST['style']."','".$_POST['color']."','".$_POST['price']."','".$_POST['label']."','".$_POST['gasoline_type']."','".$_POST['race']."','".$_POST['more_details']."','".$_POST['CB']."','".$_POST['accident']."','".$_POST['customs']."',NOW())";
var_dump(implode(",",$_POST['CB']));
Продампил $_POST['CB'] - это чекбоксы со значениями
Выводит все выбраные пользователем значения через запятую,как надо!
Но вывести с базы не могу...в ячейке базы не вижу самих значений,а только Array и все
PHP:
SELECT * from ''db" WHERE complectation != "" ...и так далее

var_dump(implode(',',$build_res['complectation'])) //должно выводить значения с чекбоксов ,сопровождается ошибкой:Warning: implode(): Invalid arguments passed in ...  
//если implode меняю на explode,в результате получаю вывод в браузере :array(1) { [0]=> string(255) "Array" }
Когда просто делаю дамп,
PHP:
var_dump ($build_res['complectation'])
пишет : NULL

Хочу что-бы выводилось то,что было записано в базу с помощью чекбоксов
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
implode(",",$_POST['CB']);
Этой строкой ты как-то воду в ступе толчёшь

Попробуй посмотреть на эту строку утром, прочитав мануал, посмотрев в нем __внимательно__ примеры, посмотрев, что возвращает эта функция.

........................OST['more_details']."','".$_POST['CB']."','".$_POST['accident']......................
Все-таки я бы посоветовал присвоить значение результата работы ф-ции implode для переменной.

www.php.net/implode
 

Maxxis

Новичок
Блин...перечитал несколько десятков раз ...нифига не получается
Подкиньте еще идеек PHPCLUB :/
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Подкиньте еще идеек PHPCLUB :/
Завязывай с php подходит?

Если нет, то - читай ГЛАЗАМИ. Я даже процитировал тебя.

Неужели совсем-совсем никаких мыслей не возникло?

ПРИСВОЙ ЗНАЧЕНИЕ!!!!!!!!!!!!!!!!1111111111111

Видно?
 

radioheaded

PHP нуб
Давай посмотрим, что тебе удалось узнать из десятка прочитанных раз.

Что такое сериализация массива?
Что делает implode?
Что такое десериализация?
Что делает explode?
 
Сверху