Имеем форму, в которую, в таблицу, подгружаются данные из БД.
Если конкретно:
<?php
$queryonerazd = mysql_query("SELECT `id`,`podrazdel`,`devnamesm`,`defkol`,`stoim` FROM `smdevice` WHERE `razdel` = '1' AND `notuse` = '0' AND `smuse` = '1' ORDER BY `podrazdel` ASC") or die(mysql_error());
if (mysql_num_rows($queryonerazd) > 0) {
while ($arronerazd = mysql_fetch_assoc($queryonerazd)) {
?>
<tr>
<td> 1.<?php echo $arronerazd['podrazdel']; ?><input type='text' [b]name='<?php echo $arronerazd['id']; ?>[/b]' value='<?php echo $arronerazd['id']; ?>' style='display:none' /></td>
<td> <?php echo $arronerazd['devnamesm']; ?></td>
<td><input type='text' name='defcol<?php echo $arronerazd['id']; ?>' value='<?php echo $arronerazd['defkol']; ?>' /></td>
<td><input type='text' name='cena<?php echo $arronerazd['id']; ?>' value='<?php echo $arronerazd['stoim']; ?>' /></td>
<td><input type='text' name='summye<?php echo $arronerazd['id']; ?>' value='' /></td>
<td><input type='text' name='summrur<?php echo $arronerazd['id']; ?>' value='' /></td>
<td><input type='checkbox' name='arn<?php echo $arronerazd['id']; ?>' value='1' /></td>
</tr>
<?php
}
}
mysql_free_result($queryonerazd);
?>
В результате получается чтото типа этого:
<tr>
<td> 1.1<input type='text' name='3' value='3' style='display:none' /></td>
<td> Блок РЕКС 2В</td>
<td><input type='text' name='defcol3' value='' /></td>
<td><input type='text' name='cena3' value='300.00' /></td>
<td><input type='text' name='summye3' value='' /></td>
<td><input type='text' name='summrur3' value='' /></td>
<td><input type='checkbox' name='arn3' value='1' /></td>
</tr>
Причем таких <tr></tr> в таблице может быть сколь угодно, следовательно имена полей каждый раз будут разные (к имени поля подставляется индекс записи из БД, жирным шрифтом выделено).
Как при отправке формы выдергивать значения ?
Спустя 44 минуты, 14 секунд (26.10.2010 - 09:31) T1grOK написал(а):
Незачем задавать каждый раз новые переменные. Можно выгружать все в массив. То есть:
<tr>
<td> 1.1<input type='text' name='key[3]' value='3' style='display:none' /></td>
<td> Блок РЕКС 2В</td>
<td><input type='text' name='defcol[3]' value='' /></td>
<td><input type='text' name='cena[3]' value='300.00' /></td>
<td><input type='text' name='summye[3]' value='' /></td>
<td><input type='text' name='summrur[3]' value='' /></td>
<td><input type='checkbox' name='arn[3]' value='1' /></td>
</tr>
Спустя 11 минут, 53 секунды (26.10.2010 - 09:43) bobo написал(а):
Не совсем понял, что вы имеете в виду, можно чуть подробнее ?
Спустя 12 минут, 21 секунда (26.10.2010 - 09:55) T1grOK написал(а):
Ваш скрипт формирования полей ввода будет выглядеть так:
И теперь чтобы "выдернуть" значения:
И логично проверять существование такого ключа со значением (isset()) в цикле.
<tr>
<td> 1.<?php echo $arronerazd['podrazdel']; ?><input type='text' [b]name='key[<?php echo $arronerazd['id']; ?>][/b]' value='<?php echo $arronerazd['id']; ?>' style='display:none' /></td>
<td> <?php echo $arronerazd['devnamesm']; ?></td>
<td><input type='text' name='defcol[<?php echo $arronerazd['id']; ?>' value='<?php echo $arronerazd['defkol']; ?>' /></td>
<td><input type='text' name='cena[<?php echo $arronerazd['id']; ?>' value='<?php echo $arronerazd['stoim']; ?>' /></td>
<td><input type='text' name='summye[<?php echo $arronerazd['id']; ?>]' value='' /></td>
<td><input type='text' name='summrur[<?php echo $arronerazd['id']; ?>]' value='' /></td>
<td><input type='checkbox' name='arn[<?php echo $arronerazd['id']; ?>]' value='1' /></td>
</tr>
И теперь чтобы "выдернуть" значения:
foreach($_POST['key'] as $value){
echo $_POST['defcol'][$value];
echo $_POST['cena'][$value];
echo $_POST['summye'][$value];
echo $_POST['summrur'][$value];
echo $_POST['arn'][$value];
}
И логично проверять существование такого ключа со значением (isset()) в цикле.
Спустя 3 минуты, 34 секунды (26.10.2010 - 09:59) bobo написал(а):
Теперь понял, спасибо
Спустя 1 месяц, 3 дня, 22 часа, 56 минут, 46 секунд (30.11.2010 - 09:55) bobo написал(а):
Дабы не создавать новую тему, апну эту.
Все ок, все работает, спасибо еще раз за помощь)
Внешне сейчас все это выглядит так
Задача стоИт такая: при выводе разносить значения по своим разделам. Экспорт делаю в excel.
Для этого добавил в массив переменную со значением раздела:
Никак не могу сообразить, как запустить цикл, что б сначала подставлялось название раздела из $_POST['razd'][$value], далее вывод значений, где переменная имеет такое же значение, по окончании вывод названия следущего раздела и т.д.
Как реализовать ?
foreach($_POST['key'] as $value) {
echo $_POST['defcol'][$value];
echo $_POST['cena'][$value];
echo $_POST['summye'][$value];
echo $_POST['summrur'][$value];
echo $_POST['arn'][$value];
}
Все ок, все работает, спасибо еще раз за помощь)
Внешне сейчас все это выглядит так
Задача стоИт такая: при выводе разносить значения по своим разделам. Экспорт делаю в excel.
Для этого добавил в массив переменную со значением раздела:
foreach($_POST['key'] as $value) {
echo $_POST['defcol'][$value];
echo $_POST['cena'][$value];
echo $_POST['summye'][$value];
echo $_POST['summrur'][$value];
echo $_POST['arn'][$value];
echo $_POST['razd'][$value];
}
Никак не могу сообразить, как запустить цикл, что б сначала подставлялось название раздела из $_POST['razd'][$value], далее вывод значений, где переменная имеет такое же значение, по окончании вывод названия следущего раздела и т.д.
Как реализовать ?
Спустя 1 час, 33 минуты, 36 секунд (30.11.2010 - 11:29) bobo написал(а):
Отбой.