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.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
imediasun
Отправлено: 10 Сентября, 2014 - 12:35:49
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 605
Дата рег-ции: Авг. 2012  


Помог: 2 раз(а)

[+][+][+][+][+]


Здравствуйте, я получаю эллемент массива из JS в таком виде
[array] => group_name=1&country_0=UA&resort_0=11&country_1=HU&resort_1=105&country_2=HU&resort_2=103&editor=description&tours_name=name_of_tour&tours_prise=4444&tour_cur=2&tour_transport=2
я могу распарсить таким образом
PHP:
скопировать код в буфер обмена
  1.  
  2. parse_str($item['array']);
  3.         $data['group']=$group_name;
  4.         $data['price']=$tours_prise;
  5.         $data['tour_name']=$tours_name;
  6.         $data['transportation']=$tour_transport;
  7.         $data['description']=$editor;
  8.         $data['currency']=$tour_cur;
  9.  

Но остальные поля у меня идут номерные и неизвестно сколько номеров может быть
как мне составить отдельный массив такого вида
$data['tour_resorts'][0]=resort_0 //11
$data['tour_resorts'][0]=resort_1 //105
$data['tour_resorts'][0]=resort_2 //103

(Отредактировано автором: 10 Сентября, 2014 - 12:36:19)

 
 Top
RickMan
Отправлено: 10 Сентября, 2014 - 13:43:21
Post Id


Участник


Покинул форум
Сообщений всего: 1033
Дата рег-ции: Май 2012  


Помог: 30 раз(а)




Может вы имели ввиду:
PHP:
скопировать код в буфер обмена
  1. $data['tour_resorts'][0]=resort_0 //11
  2. $data['tour_resorts'][1]=resort_1 //105
  3. $data['tour_resorts'][2]=resort_2 //103


Если да то надо так:

PHP:
скопировать код в буфер обмена
  1. parse_str($item['array'], $arr);
  2.         $data['group']=$arr['group_name'];
  3.         $data['price']=$arr['tours_prise'];
  4.         $data['tour_name']=$arr['tours_name'];
  5.         $data['transportation']=$arr['tour_transport'];
  6.         $data['description']=$arr['editor'];
  7.         $data['currency']=$arr['tour_cur'];
  8.         $data['tour_resorts'] = array();
  9.      
  10. $i = 0;
  11. foreach(isset($arr['resort_' . $i])){
  12.     $data['tour_resorts'][] = $arr['resort_' . $i];
  13.     $i++;
  14. }
  15.  

(Отредактировано автором: 10 Сентября, 2014 - 13:44:15)

 
 Top
imediasun
Отправлено: 10 Сентября, 2014 - 14:56:39
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 605
Дата рег-ции: Авг. 2012  


Помог: 2 раз(а)

[+][+][+][+][+]


у меня ошибка в 11 строке
Parse error: syntax error, unexpected ')' in /var/www/clients/client12/web19/ web/application/controllers/admi n_tours.php on line 11
и ввобще я впервые вижу такое foreach(isset())
Может что то не так

(Отредактировано автором: 10 Сентября, 2014 - 14:57:30)

 
 Top
RickMan
Отправлено: 10 Сентября, 2014 - 15:56:14
Post Id


Участник


Покинул форум
Сообщений всего: 1033
Дата рег-ции: Май 2012  


Помог: 30 раз(а)




Да, заработался и затупил...
Вот так надо сделать:

PHP:
скопировать код в буфер обмена
  1. parse_str($item['array'], $arr);
  2.         $data['group']=$arr['group_name'];
  3.         $data['price']=$arr['tours_prise'];
  4.         $data['tour_name']=$arr['tours_name'];
  5.         $data['transportation']=$arr['tour_transport'];
  6.         $data['description']=$arr['editor'];
  7.         $data['currency']=$arr['tour_cur'];
  8.         $data['tour_resorts'] = array();
  9.      
  10. $i = 0;
  11. while(array_key_exists('resort_' . $i, $arr)){
  12.     $data['tour_resorts'][] = $arr['resort_' . $i++];
  13. }

(Отредактировано автором: 10 Сентября, 2014 - 15:58:51)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB