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 :: Версия для печати :: Помогите с построением цикла foreach.. Очень нужно, Прошу помощи у знатоков помочь мне правильно построить цикл.
Форумы портала PHP.SU » PHP » Программирование на PHP » Помогите с построением цикла foreach.. Очень нужно, Прошу помощи у знатоков помочь мне правильно построить цикл.

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

1. denmasterweb - 05 Апреля, 2016 - 11:49:30 - перейти к сообщению
Веду разработку сайта на CMF Cotonti. Столкнулся с проблемой построения цикла при отправке заявок методом POST и последующей их обработке. Но обо всем по порядку:

У меня на сайте в результате поиска (поиск сделал сам) выдает медиаплощадки в цикле в табличном виде, То есть обычная выдача циклом. В поисковой выдаче медиаплощадок первой колонкой идет чекбокс, далее цена за выход рекламы, количество выходов (инпут, где юзер сам ставит цифру), цена контакта и общая цена за все выходы рекламы. В таблице все подсчеты производятся и выводятся Яваскриптом онлайн, и после перезагрузки данные сохраняются во всех инпутах (использовал SessionStorage).Здесь все нормально.
Проблема начинается при обработке следующего запроса.

Пользователь выбирает понравившиеся ему медиаплощадки (ставит чекбоксы в тех,что ему подходят), и под всеми площадками нажимает кнопку сабмита и отправляет заявки на размещение рекламы.

Во всех инпутах я прописал имена, чтобы можно было споймать их в контоллере $_POST['...'],
так вот в инпут чекбокса мне приходит массив с ID ВЫБРАННЫХ площадок, как мне и нужно, но во все остальные инпуты (цена за выход, общая цена и прочее) приходят все данные, то есть те, из площадок, которые пользователь не выбирал.
Подскажите, пожалуйста,как построить выборку данных именно выбранных чекбоксами площадок (то есть их цена, общая стоимость, количество выходов)??
(Добавление)
Вот кусок кода, где я спотыкаюсь...


PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. if(isset($_POST['send_orders'])) {  ///Если заявки были отправлены
  4.   if ($usr['id'] < 1)
  5.         {
  6.        
  7.                 cot_redirect(cot_url('message', "msg=930&".$sys['url_redirect'], '', true));
  8.         }  
  9.      else {
  10.    
  11.  $markets = array();
  12.  
  13.  $markets['id'] = $_POST['marketID']; ///// массив с ID нужных мне площадок
  14.  $markets['user_id'] = $_POST['user'];
  15.  $markets['user_name'] = $_POST['user_name'];
  16.  $markets['name_square'] = $_POST['name_square'];
  17.  $markets['cenazavihod'] = $_POST['cenazavihod'];
  18.  $markets['colvihodovtv'] = $_POST['colvihodovtv'];
  19.  $markets['skidkitv'] = $_POST['skidkitv'];
  20.  $markets['cena_kontakta'] = $_POST['cena_kontakta'];
  21.  $markets['obsch_cena'] = $_POST['rezultat'];
  22. $market_ord_value = $db->prep($market_ord_value);  
  23.  
  24.  
  25.  
  26. foreach ($_POST['marketID'] as $id)
  27.     {
  28.         $name_square[$id] = $_POST['name_square'][$id];   //////Ошибка где-то в построении цикла foreach
  29.     }
  30.  
  31.  
  32. echo "<pre>";  
  33.  print_r($name_square[$id]);
  34. echo "</pre>";  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
2. Viper - 05 Апреля, 2016 - 13:12:30 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. foreach ($_POST['id'] as $key => $value) {
  2.         $name_square = array_key_exists($key, $_POST['name_square']) ? $_POST['name_square'][$key] : 0;

 

Powered by ExBB FM 1.0 RC1