Вопрос состоит вот в чем :
К примеру у меня есть чекбоксы с определенными значениями,которые нужно добавить в базу.
<html>
<head>
<title></title>
</head>
<body>
<form method="POST" action="testq.php" >
<table width="100%" border="0" cellspacing="0" cellpadding="2">
<tbody>
<tr><td align="center" width="100%" >
<table align="center" border="0" cellspacing="0" cellpadding="1">
<tbody><tr>
<td><input type="checkbox" name="CB[1]" id="addcar_k1" value="ABS"></td>
<td><label for="addcar_k1">ABS</label></td>
<td width="20%"> </td>
<td><input type="checkbox" name="CB[2]" id="aib" value="Airbag"></td>
<td><label for="addcar_k16">Airbag</label></td>
</tr>
<tr>
<td><input type="checkbox" name="CB[3]" id="addcar_k3" value="ESP"></td>
<td><label for="addcar_k3">ESP</label></td>
<td> </td>
<td><input type="checkbox" name="CB[4]" id="addcar_k4" value="Парктроник"></td>
<td><label for="addcar_k4">Парктроник</label></td>
</tr>
<tr>
<td><input type="checkbox" name="CB[5]" id="addcar_k3" value="Электропакет"></td>
<td><label for="addcar_k3">Электропакет</label></td>
<td> </td>
<td><input type="checkbox" name="CB[6]" id="addcar_k4" value="Иммобилайзер"></td>
<td><label for="addcar_k4">Иммобилайзер</label></td>
</tr>
<tr>
<td><input type="checkbox" name="CB[7]" id="addcar_k6" value="Круиз-контроль"></td>
<td><label for="addcar_k6">Круиз-контроль</label></td>
<td> </td>
<td><input type="checkbox" name="CB[8]" id="addcar_k6" value="Кондиционер"></td>
<td><label for="addcar_k6">Кондиционер</label></td>
</tr>
<tr>
<td><input type="checkbox" name="CB[9]" id="addcar_k7" value="Климат-контроль"></td>
<td><label for="addcar_k7">Климат-контроль</label></td>
<td> </td>
<td><input type="checkbox" onclick="check_one('addcar_k8','addcar_k10')" name="CB[]" id="addcar_k8" value="Тюнинг"></td>
<td><label for="addcar_k8">Тюнинг</label></td>
</tr>
<tr>
<td><input type="checkbox" name="CB[10]" id="addcar_k9" value="Электропривод зеркал"></td>
<td><label for="addcar_k9">Электропривод зеркал</label></td>
<td> </td>
<td><input type="checkbox" onclick="check_one('addcar_k10','addcar_k8')" name="CB[11]" id="addcar_k10" value="Люк"></td>
<td><label for="addcar_k10">Люк</label></td>
</tr>
<tr>
<td><input type="checkbox" name="CB[12]" id="addcar_k11" value="Усилитель руля"></td>
<td><label for="addcar_k11">Усилитель руля</label></td>
<td> </td>
<td><input type="checkbox" onclick="check_one('addcar_k12','addcar_k14')" name="CB[13]" id="addcar_k12" value="Магнитола"></td>
<td><label for="addcar_k12">Магнитола</label></td>
</tr>
<tr>
<td><input type="checkbox" name="CB[14]" id="addcar_k13" value="Кожаный салон"></td>
<td><label for="addcar_k13">Кожаный салон</label></td>
<td> </td>
<td><input type="checkbox" name="CB[15]" id="addcar_k15" value="Центральный замок"></td>
<td><label for="addcar_k15">Центральный замок</label></td>
</tr>
<tr>
<td><input type="checkbox" name="CB[16]" id="addcar_k13" value="Ксенон"></td>
<td><label for="addcar_k13">Ксенон</label></td>
<td> </td>
<td><input type="checkbox" name="CB[17]" id="addcar_k15" value="Биксенон"></td>
<td><label for="addcar_k15">Биксенон</label></td>
</tr>
</tbody></table>
<input type="submit" value="Send">
</td></tr>
</tbody></table>
</form>
</body>
</html>
Когда добавляю в Mysql ,в столбце появляются не данные,а просто Array .
Делал дамп ,кроме этого { [0]=> string(100) "Array" } ничего не показывает
Что не правильно делаю ? :blink:
Заранее спасибо !
if (is_array($_POST['CB'])){
implode(",",$_POST['CB']);
$advert_query="INSERT INTO `test` (`cb`) VALUES ('".$_POST['CB']."')";
}
$sql=@mysql_query($advert_query);
var_dump(implode(",",$_POST['CB']));
$advert_query="SELECT * FROM `test`";
$sql=@mysql_query($advert_query);
while($build_res = mysql_fetch_array($sql)) {
var_dump(explode(",",$build_res['cb']));
}
Спустя 11 минут, 13 секунд (17.09.2011 - 14:10) caballero написал(а):
Цитата |
Что не правильно делаю |
Вставляешь туда array вместо строки
Спустя 44 секунды (17.09.2011 - 14:10) m4a1fox написал(а):
Maxxis
Ой! А можно не совсем по теме вопрос. А вот ето тебе зачема нужна
Ой! А можно не совсем по теме вопрос. А вот ето тебе зачема нужна
Цитата |
$sql=@mysql_query($advert_query); |
Я про собаку в данном случае!
Спустя 1 минута, 25 секунд (17.09.2011 - 14:12) m4a1fox написал(а):
И еще! Как то вы товарищ принимаете хитро все! Не проверку через нажатую кнопку, а проверку на сущ. массива! ИМХО - this is wrong!
Спустя 45 секунд (17.09.2011 - 14:13) caballero написал(а):
Цитата |
А вот ето тебе зачема нужна |
Как зачем?
А вдруг Mysql ошибку выдаст. А так мы ее удавим и сделаем вид что никаких ошибок нет
Спустя 1 минута, 30 секунд (17.09.2011 - 14:14) m4a1fox написал(а):
caballero
Ага! А потом с выпученными глазами и перерыванием сотней строк кода - будем ее искать! Не легче предупреждение выдать?
Ну это так ИМХО! Кому как сподручнее! Просто глаз режет это собака
Ага! А потом с выпученными глазами и перерыванием сотней строк кода - будем ее искать! Не легче предупреждение выдать?
Ну это так ИМХО! Кому как сподручнее! Просто глаз режет это собака
Спустя 3 минуты, 49 секунд (17.09.2011 - 14:18) caballero написал(а):
Цитата |
Ага! А потом с выпученными глазами и перерыванием сотней строк кода - будем ее искать! Не легче предупреждение выдать? |
К тому времени сайт уже будет у заказчика - главное чтобы заказчик не увидел на екране mysql_error и резонно рассудил что он просто лох, не умеющий работать с сайтом
Спустя 58 секунд (17.09.2011 - 14:19) Maxxis написал(а):
Цитата (caballero @ 17.09.2011 - 11:10) | ||
Вставляешь туда array вместо строки |
Туда,это куда,можно по-подробнее ?
Спустя 3 минуты, 28 секунд (17.09.2011 - 14:22) caballero написал(а):
Цитата |
Туда,это куда ? |
в запрос вестимо.
$advert_query="INSERT INTO `test` (`cb`) VALUES ('".$_POST['CB']."')";
может поделишся с аудиторией что ты туда хотел бы вставить
Спустя 2 минуты, 13 секунд (17.09.2011 - 14:25) Maxxis написал(а):
Цитата (caballero @ 17.09.2011 - 11:22) |
в запрос вестимо. $advert_query="INSERT INTO `test` (`cb`) VALUES ('".$_POST['CB']."')"; может поделишся с аудиторией что ты туда хотел бы вставить |
Хотел бы вставить значения чекбоксов и передать их в базу,но не могу понять что не правильно делаю !?
Спустя 8 минут, 17 секунд (17.09.2011 - 14:33) caballero написал(а):
Цитата |
Хотел бы вставить значения чекбоксов и передать их в базу |
КАК ты хотел бы их вставить? Какая структура данных у тебя там?
каждый элемента массива в свою строку таблицы, через запятую перечислить в string а потом вставить или еще как
у тебя есть массив - выбери из него данные по индексу или строку склей или еще как
вытащи сначала данные в том виде в котором ты в базу хочешь ставить
Спустя 5 минут, 18 секунд (17.09.2011 - 14:38) Maxxis написал(а):
Цитата (caballero @ 17.09.2011 - 11:33) | ||
КАК ты хотел бы их вставить? Какая структура данных у тебя там? каждый элемента массива в свою строку таблицы, через запятую перечислить в string а потом вставить или еще как у тебя есть массив - выбери из него данные по индексу или строку склей или еще как вытащи сначала данные в том виде в котором ты в базу хочешь ставить |
Можно пример?
Я только начал изучать рнр
Спустя 6 минут, 56 секунд (17.09.2011 - 14:45) caballero написал(а):
Пример чего?
Как можно написать пример КАК сделать есчли ты не знаешь ЧТО сделать.
Нельзя просто воткнуть что то в БД. У тебя есть некие данные ты тем или иным образом создашь под эти данные структуру таблиц и т.д.
Затем ты принимаешь данные откудато
ты их должен вынуть и вставить в определенные места в БД
у тебя за каждым черером стоит сущность - товар
он должен быть в базе
ты получаешь массив череров каждый элемент массива - идентификатор товара
по этому идентификатору лезешь в базу и что то там с ним делаешь
например в цикле
foreach($_POST['CB'] as $index =>$value)
{
......
}
Как можно написать пример КАК сделать есчли ты не знаешь ЧТО сделать.
Нельзя просто воткнуть что то в БД. У тебя есть некие данные ты тем или иным образом создашь под эти данные структуру таблиц и т.д.
Затем ты принимаешь данные откудато
ты их должен вынуть и вставить в определенные места в БД
у тебя за каждым черером стоит сущность - товар
он должен быть в базе
ты получаешь массив череров каждый элемент массива - идентификатор товара
по этому идентификатору лезешь в базу и что то там с ним делаешь
например в цикле
foreach($_POST['CB'] as $index =>$value)
{
......
}
Спустя 9 минут, 57 секунд (17.09.2011 - 14:55) Maxxis написал(а):
Цитата (caballero @ 17.09.2011 - 11:45) |
Пример чего? Как можно написать пример КАК сделать есчли ты не знаешь ЧТО сделать. |
Мне нужно все выбранные чекбоксы(ихние значения) 'cb' вставить одну строку базы Mysql .
Вот что я имею в виду
Спустя 3 минуты, 59 секунд (17.09.2011 - 14:59) caballero написал(а):
Цитата |
Мне нужно все выбранные чекбоксы(ихние значения) 'cb' вставить одну строку базы Mysql . Вот что я имею в виду |
этого написать было достаточно вместо простыни кода
implode(",",$_POST['CB'] )
если получашь индексы вместо значений
замени name="CB[1]"
на name="CB[]"
Спустя 20 минут, 2 секунды (17.09.2011 - 15:19) Maxxis написал(а):
Цитата (caballero @ 17.09.2011 - 11:59) | ||
этого написать было достаточно вместо простыни кода implode(",",$_POST['CB'] ) если получашь индексы вместо значений замени name="CB[1]" на name="CB[]" |
Поменял СВ[] !
$CB=$_POST['CB'];
implode(",",$CB);
$advert_query="INSERT INTO `test` (`cb`) VALUES ('$CB')";
$sql=mysql_query($advert_query);
var_dump(implode(",",$CB)); <----------Показывает правильно -string(28) "ABS,ESP,Электропривод зеркал"
$advert_query="SELECT * FROM `test`";
$sql=@mysql_query($advert_query);
while($build_res = mysql_fetch_array($sql)) {
var_dump(explode(",",$build_res['cb'])); // выводит в результате вот так -- array(1) { [0]=> string(5) "Array" }
}
Спустя 28 минут, 10 секунд (17.09.2011 - 15:47) inpost написал(а):
implode(",",$CB); // что это значит? Ты результат никуда не записал, значит его не существует.
$new = implode(",",$CB); // вот теперь результат идёт в переменную!!!
Спустя 7 минут, 59 секунд (17.09.2011 - 15:55) Maxxis написал(а):
Цитата (inpost @ 17.09.2011 - 12:47) |
implode(",",$CB); // что это значит? Ты результат никуда не записал, значит его не существует. |
ОГРОМНЕЙШЕЕ СПАСИБО ТЕБЕ,INPOST!
Надо же,вот это затупил )))
ЕщЕ раз ,спасибо тебе ! ))))))))))))