POST массива textbox c их ID

Rynor

stay hungry
POST массива textbox c их ID

Уважаемые! Искал в форуме, но так и не нашел, хотя где-то раньше видел темку.

нужно отправить из формы отредактированные данные формы:

<input type=text name=choices[] value='Поле 1'>
<input type=text name=choices[] value='Поле 2'>
<input type=text name=choices[] value='Поле 3'>
...
<input type=text name=choices[] value='Поле N'>";

все хорошо, но как мне вместе с текстовыми значениями полей отправить их id (данные берутся из БД)


насчет
<input type=text name=choices_$id value='Поле 1'>
я не знаю, как это все разгребать после постинга

Буду благодарен за помощь!
 

Rynor

stay hungry
спасибо
а если id 99999 etc? теоретически :)
но даже если и до 1000, что реально
за скорость обработки опасаюсь
может и зря...

а вариант:
<input type=text name=choices_<?=$id?> value='Поле 1'>
можно изящно обработать, не подскажете?
 

Demiurg

Guest
1. так много значений в одном запросе передовать не надо, передавай частями.
2.
PHP:
$name = 'choices_'.$id;
$value = $$name;
 

Rynor

stay hungry
1 - извиняюсь, а как передавать частями если форма одна и не надо мне никаких больше форм :)

2- спасибо, вот это я щас попробую с $$ никогда не работал еще
 

Demiurg

Guest
ты пользователя будешь просить заполнить 100000 полей ???
 

Rynor

stay hungry
5-10 и ни инпутом больше :)
пошел читать про массивы
я предполагал что choices[nnnnn] приведет к созданию массива длиной [nnnnn] и это все придется прогонять через for для нахождения непустых элементов

и пункт 2 я не просек пока... поиск $$ дает из всего форума только данную темку

:)
 

Rynor

stay hungry
в процессе понимания
боюсь, что пока не вижу адекватного решения с $$ по данному сабжу
треклятая расплывчатая постановка проблемы
короче, читаю и пробую, напробуюсь - вернусь
спасибо
 

Rynor

stay hungry
Уважаемый!
вопрос - как мне просканить после POST choices_nn???
там же может быть 5-10 значений с абсолютно разными ID, не по порядку даже, например, choices_3, choices_4, choices_5, choices_12, choices_20

как мне все это корректно зарулить c $_POST без перебора на isset(choices_0) - isset(choices_100000)???
пока не имею понятия
 

Demiurg

Guest
Если не знаешь эти id, тогда через $HTTP_POST_VARS, перемираешь все ключи, и вперед...
 

Rynor

stay hungry
этого-то я и стесняюсь делать
как-то скучновато перебирать
ладно, один вариант разжеван
пойду ковырнусь еще с choices[$id]

можно кстати, так:
<input type=text name=choices[] value='Поле 1'>
<input type=hidden name=ids[] value=$id...>
<input type=text name=choices[] value='Поле 2'>
<input type=hidden name=ids[] value=$id...>
<input type=text name=choices[] value='Поле 3'>
<input type=hidden name=ids[] value=$id...>
...
<input type=text name=choices[] value='Поле N'>";
<input type=hidden name=ids[] value=$id...>

это лучше чем перебор :)
но тоже грубовато
танцев хочу
как бразильцы в футбол не против бельгии
 

Demiurg

Guest
а что мешает сделать
<input type=text name=choices[$id] value='Поле N'> ?
 

Rynor

stay hungry
я туплю
извините
суть вот в чем:

$a[10] = 0;
$a[11] = 1;
echo count($a);
получаем 2

с помощью какой функции мне узнать какие есть элементы в массиве, их номера, 10 и 11? в этом вся суть

заранее благодарен
 

Rynor

stay hungry
для тех кто в танке поедет по моим следам
while (list ($key, $val) = each ($_POST["choices"])) {
echo "<br>$key => $val<br>";
}
:)

спасибо, Demiurg!
 
Сверху