Спасибо большое очень нужная информация =-) (Добавление)
Кстати структуру я составил правильно, а вот битовые маски мне зачем? так понять и не могу, если всего то одну строку надо вставить нужно было, самый лучший выход из ситуации самый простой =-)
нееее, битовые маски мне тут явно не помогут, мне нужно, лично по мое идиотской логике,
что бы сам запрос был не в цикле а $i была в запросе может из запроса ссылаться на $i?
&$i
Ну так на той странице, где вы записываете в БД обработайте ваш массив чекбоксов.
Окей щас всё будет =-)
CREATE TABLE IF NOT EXISTS `zakaz` (
`id` int(20) NOT NULL AUTO_INCREMENT,
`type_kontakta` varchar(25) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`nomer_kontakta` varchar(40) NOT NULL,
`name_famil` varchar(65) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`type_site` varchar(25) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`date` varchar(20) NOT NULL,
`dop_text` text CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`sites` tinytext CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`dop_yslygi` varchar(200) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=75 ;
вот моя структура
вот я беру из выделенных чекбоксов массив
if(isset($_POST['dop_yslygi']))
{
$dop_yslygi = $_POST['dop_yslygi'];
$count = count($dop_yslygi);
echo $count;
}
Тут я добавляю информацию
$query = "INSERT INTO zakaz VALUES".
"('NULL','$variant','$nomer_kontakta','$name_famil','$typesite','$date','$text1','$text2',' ')";
$result = mysql_query($query);
if(!$result)
{
echo "Сбой при вставке данных в базу" . mysql_error() . "<br /><br />";
}
а тут я пытаюсь добавить в поле dop_yslygi все выделенные чекбоксы которые в массиве
$dop_yslygi
чуть не забыл вот как чек боксы в html выглядят
<input type="checkbox" name="dop_yslygi[]" value="Портфолио" id="" />
<input type="checkbox" name="dop_yslygi[]" value="Сертификаты" id="" />
<input type="checkbox" name="dop_yslygi[]" value="Меню" id="" />
Окей щас всё будет =-)
CREATE TABLE IF NOT EXISTS `zakaz` (
`id` int(20) NOT NULL AUTO_INCREMENT,
`type_kontakta` varchar(25) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`nomer_kontakta` varchar(40) NOT NULL,
`name_famil` varchar(65) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`type_site` varchar(25) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`date` varchar(20) NOT NULL,
`dop_text` text CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`sites` tinytext CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`dop_yslygi` varchar(200) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=75 ;
вот моя структура
вот я беру из выделенных чекбоксов массив
if(isset($_POST['dop_yslygi']))
{
$dop_yslygi = $_POST['dop_yslygi'];
$count = count($dop_yslygi);
echo $count;
}
Тут я добавляю информацию
$query = "INSERT INTO zakaz VALUES".
"('NULL','$variant','$nomer_kontakta','$name_famil','$typesite','$date','$text1','$text2',' ')";
$result = mysql_query($query);
if(!$result)
{
echo "Сбой при вставке данных в базу" . mysql_error() . "<br /><br />";
}
а тут я пытаюсь добавить в поле dop_yslygi все выделенные чекбоксы которые в массиве
$dop_yslygi
нееее, битовые маски мне тут явно не помогут, мне нужно, лично по мое идиотской логике,
что бы сам запрос был не в цикле а $i была в запросе может из запроса ссылаться на $i?
&$i
поменял i на $i + сделал не $dop_yslygi[$i] а '$dop_yslygi[$i]' и всё начало работать
я тут хотел уже кричать от радости пока не заметил что у меня масив чек боксов выделенных заносится не сразу весь а по очереди и получается что к примеру у id-1 одно значение чек бокса , а у id-2 тоже другое значение а мне надо что бы оба этих значения попали в id-1
Я не умею объяснять, но вроде как смог, надеюсь вы поняли что я имел ввиду? =-) (Добавление)
Viper пишет:
Ну и как вы себе представляете такой запрос
INSERT INTO `zakaz` (dop_yslygi) VALUES (1234567890)
Вы пытаетесь в одно поле залить данные из массива чекбоксов при это VALUES у вас даже не разделяются никак, а должны быть через запятую и взяты в одинарные кавычки.
да, верно сказано, глупо я запрос составил, спасибо, я это учёл и исправил)))
таааакс, всё попробовал, на вот это
$query = "INSERT INTO zakaz(dop_yslygi) VALUES". "({$dop_yslygi[i]})";
ответил что Column count doesn't match value count at row 1
а на это $query = "INSERT INTO zakaz(dop_yslygi) VALUES"."(".$dop_yslygi[i].")";
вообще фатальную ошибку вывел((
может я в запросе к базе ошибся где то?)
в каком виде массив? и в какой вид нужно это всё преобразовать?
Короче вот такие чек боксы у меня
<input type="checkbox" name="dop_yslygi[]" value="Фотоотчёты" id="" />
<input type="checkbox" name="dop_yslygi[]" value="Портфолио" id="" />
<input type="checkbox" name="dop_yslygi[]" value="Сертификаты" id="" />
......
......
вот я весь массив взял
if(isset($_POST['dop_yslygi']))
{
$dop_yslygi = $_POST['dop_yslygi'];
$count = count($dop_yslygi); //это количество элементов массива, для цикла.
}
вот я пытаюсь засунуть его в базу(массив) в таблице 9 полей я уже в предыдущем запросе всё остальное засунул а вот это не хочет засовываться(( говорит что у меня 9 полей а я засовываю одно значение,
if($count != 0)
{
for ($i=0; $i < $count; $i++)
{
$query = "INSERT INTO zakaz(dop_yslygi) VALUES". "($dop_yslygi[i])";
if(!mysql_query($query)) echo mysql_error();
}
Помогите пожалуйста, есть массив checkbox'ов надо засунуть в базу все его элементы в базу пробовал с помощью цикла пробовал сначала с помощью foreach не хочит заполнятся ругается (((
как пройтись по всем элементам и засунуть их в базу? =-)
Помогите пожалуйста
function net_tag($cool)
{
$cool = htmlentities(strip_tags($cool), ENT_QUOTES, 'UTF-8');
return $cool;
}
сравнение стоит тоже в UTF-8
данные проходят через эту функцию в mysql выводятся все буквы как защитный код
в самой базе, как это исправить?
помогите разобраться с кодировкой =-)