Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: PHP для новичков - Принять несколько переменных и добавить в массив
Покинул форум
Сообщений всего: 32
Дата рег-ции: Окт. 2012
Помог: 0 раз(а)
Доброго времени суток, стоит такая задача:
Пользователь отмечает один\несколько чек боксов, отправляет GET'ом, встречаю я преобразованием в переменную:
и сразу вывожу $city через echo, мне выводится самое последнее значение которое было у переданной переменной: index.php?city=0&city=1&city=2 тут все понятно, но как мне встретить каждую переменную и добавить в массив? что бы в массиве к примеру $allcity были занесены все значения? И далее через цикл я мог бы вывести все переменные из этого массива пока они не закончатся?
далее значение поля city идет в массив, что бы в нем произвести поиск с помощью array_search или in_array (т.к. я понял, что в обычной переменной они искать не будут т.к. она не массив) на наличие запятой
Покинул форум
Сообщений всего: 32
Дата рег-ции: Окт. 2012
Помог: 0 раз(а)
caballero пишет:
зачем там в массиве искать запятую? откуда она возмется как ЕЛЕМЕНТ массива?
в поле type заносятся либо одно число 1 или 10 и т.д. либо несколько чисел через запятую 1,2 или 56,2 (одной строкой), если запятая присутствует значит было занесено больше 1го идентификатора города, и для него выполняется определенное действие.
$city_update=mysql_query("UPDATE news SET type='$var' WHERE id=1");
Вот так я в 1ую новость в поле type добавил значение 0,2 =)
как вам уже сказали попробуйте именно strpos если вам нужно найти позицию запятой, но я думаю, что скорее всего вам нужна ф-и explode (обратная от implode)
т.е. вам пришел ГЕТ с массивом вы сделали его строкой (с разделителем запятая) и записали в БД. после вы выбираете из БД опять же строку.
если примените к ней explode то у вас будет массив (без запятых). вы можете посчитать колчиество элементов и делать что-то далее в зависимости от количества элементов (например если 1) или от значений в этом массиве.
El Diablo
Отправлено: 14 Сентября, 2013 - 12:36:48
Новичок
Покинул форум
Сообщений всего: 32
Дата рег-ции: Окт. 2012
Помог: 0 раз(а)
flash-not пишет:
El Diablo пишет:
Есть форма с чекбоксами, пользователь выбирает 2 значения, они летят GET'ом:
index.php?city[]=0&city[]=2
$city_update=mysql_query("UPDATE news SET type='$var' WHERE id=1");
Вот так я в 1ую новость в поле type добавил значение 0,2 =)
как вам уже сказали попробуйте именно strpos если вам нужно найти позицию запятой, но я думаю, что скорее всего вам нужна ф-и explode (обратная от implode)
т.е. вам пришел ГЕТ с массивом вы сделали его строкой (с разделителем запятая) и записали в БД. после вы выбираете из БД опять же строку.
если примените к ней explode то у вас будет массив (без запятых). вы можете посчитать колчиество элементов и делать что-то далее в зависимости от количества элементов (например если 1) или от значений в этом массиве.
Благодарю =) правда я уже решил этот вопрос, и кстате strpos имеет минус т.к. если я например ищу 2 то строчка 2,0 не будет распознана и он ее пропустит (т.к. он 1ое значение летит в 0 а не в 1), по этому прибег к strpbrk, у меня получился вот такой код:
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.