2015-08-20 3 views
0

После отправки формы мне нужно выполнить поиск по массиву POST для слов типа «ProductID» и сохранить имя и значение в ассоциативном массиве. Мне нужно сделать это, так как вы можете перечислить количество продуктов на другой странице. Так иногда есть только 3 перечисленные продукты, иногда это 10 и так далее.

HTML-:

<div class="col-sm-3"> 
    <label class="control-label">ADULT TRIP - $139</label> 
    <select class="form-control valid" name="ProductID-1"> 
     <option value="-1">-- Please Select --</option> 
     <option value="0">0</option><option value="1">1</option> 
     <option value="2">2</option><option value="3">3</option> 
    </select> 
</div> 

То, что я получил до сих пор в PHP:

foreach($_POST as $value) { 
    if (strpos($_POST,'ProductID') !== false) { 
     //Store in associative array 
    } 
} 

То, что я хочу достичь, это после того, как форма отправлена, петля через POST, проверьте каждый элемент для слова «ProductID», если есть совпадение, сохраните имя и значение в ассоциативном массиве. На данный момент все возвращается к истине. Любая помощь будет принята с благодарностью.

+2

Если у вас будет несколько ProductID я могу использовать массив 'имя = "ProductID [1]"' это будет легко, то управлять своими post –

+0

Ты легендарный помощник. –

ответ

1

Использование:

foreach($_POST as $key=>$value) { 
    if (strpos($key,'ProductID') !== false) { 
     //Store in associative array 
    } 
} 

Вместо:

foreach($_POST as $value) { 
    if (strpos($_POST,'ProductID') !== false) { 
     //Store in associative array 
    } 
} 
0

Если у вас будет несколько ProductID я могу использовать имя массива = "ProductID [1]", это будет легко, то управлять ваш пост

0
$ProductID= $_POST['ProductID']; 

попробовать эхо $ ProductID [0];

0

Как указал Ôrel, я могу использовать массив и пропустить его, как я считаю нужным. не я изменил HTML от:

<select class="form-control valid" name="ProductID-1"> 

к:

<select class="form-control valid" name="ProductID[<? echo $product_Results['ProductID']; ?>]"> 

После отправки формы, я изменил свое РНР:

foreach($_POST as $stuff) { 
    if(is_array($stuff)) { 
     foreach($stuff as $ProductID => $qty) { 
      echo 'product ID: '.$ProductID.' - qty: '.$qty.'<br />'; 
     } 
    } 
} 

Таким образом я могу петлю через форму до I найдите тот, который является массивом (ProductID), и процитируйте его как ассоциативный массив. Это позволяет мне получить идентификатор продукта, а также количество, необходимое для перехода на следующий шаг.

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