Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Передача массива через POST - как восстановить значения первого шага в конечном обработчике?
 
 автор: larush2   (26.04.2011 в 11:14)   письмо автору
 
 

Привет всем, не могупридумать как решить такую задачку :
1. Есть список из которого пользователь выбирает № склада, возможен множественный выбор

<select name=sklad[]  multiple=10 size=10>
<option value=s1>Склад 1
...
<option value=s10>Склад 10
</select>
<input type=submin value=Send>


2. После выбора склада анализирую значения, формирую столько select'ов сколько выбрано складов, и каждый из них заполняю товарами со "своего" склада. Не принципиально- на этой или новой страничке. Пользователь выбирает товары и жмет другую кнопку.

<select name=s1[]  multiple=10 size=10></select>
<select name=s2[]  multiple=10 size=10></select>
<select name=s3[]  multiple=10 size=10>
<option value=t1>Товар 1
...
<option value=t100>Товар 100
</select>
<input type=submin value=Send_2>


3. Теперь то что не могу сообразить- как мне знать названия складов, которые пользователь выбрал на 1 шаге, которые дали названия для select'ов, для того чтобы обратиться к методу $_POST по имени select'a? К примеру-

echo $_POST[s1][0]
echo $_POST[s2][10]


я так полагаю что мне нужно передать массив складов через POST, но что-то не сооображу как

  Ответить  
 
 автор: cheops   (26.04.2011 в 11:25)   письмо автору
 
   для: larush2   (26.04.2011 в 11:14)
 

Хм... так у вас же есть ключи s1, ..., s10, которые вы на первом этапе связывали с названиями складов. Нельзя ли задействовать эти ключи для восстановления названий? Если номера в названиях s1, ..., s10 назначаются произвольно по порядку, может стоит использовать вместо 1, ..., 10 первичные ключи таблицы складов?

  Ответить  
 
 автор: larush2   (26.04.2011 в 11:33)   письмо автору
 
   для: cheops   (26.04.2011 в 11:25)
 

У меня есть все :-).. ключи также. Просто кол-во селектов неизвестно заранее, их названия так-же, значения из селектов я получаю,все красиво, но не знаю КАКИЕ именно названия будут фигурировать. Могу предположить глупое решение- сканировать названия складов и если оно есть в POST'e, то работать с ним.. но как-то некрасиво... Вот что получаю:

[sklad1]=> Array{
[0] =>t1
[1]=>t2
}
[sklad5]=> Array{
[0] =>t10
[1]=>t20
}


как мне обратиться к методу POST, не зная названий массивов ? Или как мне сформировать массив с выбранными названиями складов ? В данном случае хотелось бы что-то вроде

[name_sklad]=> Array{
[0] =>sklad1
[1]=>sklad5
}

тогда, зная заранее название массива, я его распарсю и буду знать названия передаваемых массивов с товарами...

  Ответить  
 
 автор: cheops   (26.04.2011 в 11:38)   письмо автору
 
   для: larush2   (26.04.2011 в 11:33)
 

А вы извлеките ключи массива $_POST при помощи функции array_keys() и отберите те, которые начинаются со sklad - это и будет список ключей складов.

  Ответить  
 
 автор: larush2   (26.04.2011 в 11:44)   письмо автору
 
   для: cheops   (26.04.2011 в 11:38)
 

не пробовал, сейчас поиграюсь... пока что реализовал следующим образом: сформировал hidden-поля с value= названию выбранных складов., получаю массив как и хотел.

Спасибо, либо Ваш вариант либо мой, но сработают :-)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования