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
Форумы портала PHP.SU :: Версия для печати :: Array() ???
Форумы портала PHP.SU » » Вопросы новичков » Array() ???

Страниц (1): [1]
 

1. maragon - 23 Октября, 2011 - 20:52:00 - перейти к сообщению
Пользователь оформил на сайте к примеру 3 товара:

инпуты: (input's)
thingid[] //id товара
r[] //размер
count[] //количество

обработчик:
CODE (htmlphp):
скопировать код в буфер обмена
  1. $id = $_POST['thingid'];
  2. $b = $_POST['count'];
  3. $a = $_POST['r'];


print_r выводит:

CODE (htmlphp):
скопировать код в буфер обмена
  1. Размер:
  2. Array ( [0] => s [1] => s )
  3. Количетсво:
  4. Array ( [0] => 1 [1] => 1 )
  5. ИД:
  6. Array ( [0] => 2 [1] => 7 )


Возможно ли сделать все красивее?
Скажем чтобы на выходе вывело

2-1-s
7-1-s

Либо сделать данные в переменные?
т.е :
$id ровнялось бы 2
$r ровнялось бы s
$count ровнялось бы 1
и т.д...

Дабы потом 3 запросами залить в бд все это дабро.
2. EuGen - 23 Октября, 2011 - 21:24:33 - перейти к сообщению
Передавайте ассоциативным массивом, то есть имена input будут
data[thingid]
data[r]
data[count]

И принимать как
3. maragon - 23 Октября, 2011 - 21:29:15 - перейти к сообщению
А после? как обрабатывать?
4. EuGen - 23 Октября, 2011 - 21:41:17 - перейти к сообщению
Собрать переданные массивы циклом и обработать к БД как вариант
5. maragon - 23 Октября, 2011 - 21:42:17 - перейти к сообщению
"Собрать переданные массивы циклом".. чем лучше? и как собирать воедино?
цитата:
CODE (htmlphp):
скопировать код в буфер обмена
  1. Скажем чтобы на выходе вывело
  2.  
  3. 2-1-s
  4. 7-1-s
6. EuGen - 23 Октября, 2011 - 21:49:13 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $rgData=$_POST['data'];
  2. //Здесь предполагается, что у нас несколько input, каждый из которых имеет предложенную выше структуру, то есть их имена будут такими:
  3. /*
  4. data[0][thingid]
  5. data[0][r]
  6. data[0][count]
  7. data[1][thingid]
  8. data[1][r]
  9. data[1][count]
  10. ...
  11. */
  12. foreach($rgData as $rgRecord)
  13. {
  14.    //либо сразу действия с $rgRecord, либо цикл:
  15.    foreach($rgRecord as $key=>$value)
  16.    {
  17.       //обработка - например, запись в БД
  18.    }
  19. };
7. maragon - 24 Октября, 2011 - 16:54:30 - перейти к сообщению
$value выводит мне 11s21m31xl, я понял что тут вывело, но как в бд влить поотдельности данные? 11s,21m?
$value[count] не реагирует и в выводит строку выше.

 

Powered by ExBB FM 1.0 RC1