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 :: Версия для печати :: Массив вида [переменная] => значение
Форумы портала PHP.SU » » Хранение данных, их вывод и обработка » Массив вида [переменная] => значение

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

1. khristyan - 08 Февраля, 2018 - 13:03:42 - перейти к сообщению
Добрый день!

Подскажите, туплю Недовольство, огорчение

Имею форму с чекбоксами.
Список чекбоксов формируется циклом из массива полученного из БД.
Значение чекбокса = артикул.
CODE (htmlphp):
скопировать код в буфер обмена
  1. <input type="checkbox" name="goods[]" value="<?=$articul?>" id="<?=$articul?>">


Отправляя форму методом ПОСТ получаю массив вида Array ( [0] => 2806 [1] => 1116 ), где только выбранные чекбоксы, а значение в массиве - артикул выбранных чекбоксов.

Усложняю форму: рядом с каждым чекбоксом добавляю инпут, в который надо указать количество
CODE (htmlphp):
скопировать код в буфер обмена
  1. <input type="checkbox" name="goods[]" value="<?=$articul?>" id="<?=$articul?>">
  2. <input type="number" name="igoods[]" step="1" min="0" value="0">


Отправляя модифицированную форму, получаю второй массив вида:
Array ( [0] => 1 [1] => 2 [2] => 0 [3] => 0 [4] => 0 )

Подскажите, пожалуйста, как сформировать массив вида Array ( [2806] => 1 [1116] => 2 ), где ключ - артикул, значение - количество?
2. Строитель - 08 Февраля, 2018 - 14:13:55 - перейти к сообщению
khristyan, а если поменять местами ключи со значениями в массиве?
3. armancho7777777 - 08 Февраля, 2018 - 15:11:00 - перейти к сообщению
khristyan пишет:
Подскажите, пожалуйста, как сформировать массив вида Array ( [2806] => 1 [1116] => 2 ), где ключ - артикул, значение - количество?

CODE (htmlphp):
скопировать код в буфер обмена
  1. <input type="number" name="igoods[<?=$articul?>]" step="1" min="0" value="0">
4. khristyan - 08 Февраля, 2018 - 15:27:02 - перейти к сообщению
armancho7777777 пишет:
khristyan пишет:
Подскажите, пожалуйста, как сформировать массив вида Array ( [2806] => 1 [1116] => 2 ), где ключ - артикул, значение - количество?

CODE (htmlphp):
скопировать код в буфер обмена
  1. <input type="number" name="igoods[<?=$articul?>]" step="1" min="0" value="0">


СПАСИБО! понимал, что где-то с формой туплю...

в результате, json_encode($_POST['igoods']) выдает массив {"2806":"1","1116":"2"}
5. Segol - 30 Сентября, 2018 - 20:47:34 - перейти к сообщению
+

 

Powered by ExBB FM 1.0 RC1