checkbox PHP Mysql

  • Автор темы Автор темы Maxxis
  • Дата начала Дата начала

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 .
Что не правильно делаю ?
Заранее спасибо !
 
Теперь еще вопрос :
Я вывожу данные из базы ,
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 ...
Как с этим разобраться ?
 
разбираются стандартно, ровно так-же как тебе сказали 2 раза вверху.
var_dump($build_res['complectation']);
Что-то мне подсказывает, что там будет string

Для достижения полного феншуя читаем
www.php.net/implode
 
Продампил $build_res['complectation'] ;
В итоге вывело string(5) "Array"
Как и что дальше ? 0_о
 
Ты пытался записать в БД массив и он превратился в строку «Array», то есть ты потерял данные.

Судя по всему, ты не воспользовался советом.
 
Читал я этот совет,но все-равно ничего не пойму ...
Пример в студию пожалуйста =)
 
Здесь подталкивают к __самостоятельному__ решению.
Так сложилось.
Если не понял, прочитай еще 12 с половиной раз.

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

Если тебе это не понятно/нудно и т.д, то следует поискать другое занятие.
 
А что ты хочешь получить в итоге? Понимаешь, что делает implode? Когда достаешь обратно, если хочешь получить снова массив, то нужна обратная операция — explode.
 
А что ты хочешь получить в итоге? Понимаешь, что делает 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

Хочу что-бы выводилось то,что было записано в базу с помощью чекбоксов
 
implode(",",$_POST['CB']);
Этой строкой ты как-то воду в ступе толчёшь

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

........................OST['more_details']."','".$_POST['CB']."','".$_POST['accident']......................

Все-таки я бы посоветовал присвоить значение результата работы ф-ции implode для переменной.

www.php.net/implode
 
Блин...перечитал несколько десятков раз ...нифига не получается
Подкиньте еще идеек PHPCLUB :/
 
Подкиньте еще идеек PHPCLUB :/
Завязывай с php подходит?

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

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

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

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

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