2010-02-17 5 views
0

Я создаю таблицу заказов. моя проблема у меня есть с моим полем формы для каждой строки/записи в таблице.php форма заказа, передача нескольких переменных

<input type="text" size="4" name="buy_item['2']" value="0"> 

я определяю каждый идентификатор аналогичным синтаксисом

buy_item[ item number ] 

моя проблема в том, когда вся форма отправляется через запрос пост, как я знаю, какие именно объекты были куплены?

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

$_POST['buy_item[2]']; 

будет эквивалентен примеру в верхней части. но что, если кто-то купил

buy_item['99'] 

вместо buy_item [ «2»]

Если кто-нибудь может привести меня в правильном направлении было бы весьма признателен.

ответ

0
foreach($_POST['buy_item'] as $item_id=>$amount){ 
    if($amount > 0){ 
    echo $item_id." was bought ".$amount." times"; 
    } 
} 
+0

$ item_id даст вам индекс массива, так что бы сказать пункт 0 был куплен бла-бла, где, как она должна представлять имя элемента :) – Sarfraz

+0

Нету, он определяет его как имя = "buy_item [ '2 '] "2 - это идентификатор элемента. это не имеет смысла, если бы это было иначе, ему нужны два значения, идентификатор элемента и сумма покупки. – Rufinus

+0

, определяющий его, как этот buy_item ['2'] не будет работать для нескольких полей, ему нужно обернуть их в массив, просто используя buy_item [] – Sarfraz

Смежные вопросы