2015-08-20 37 views
0

一旦表单被提交,我需要搜索POST数组中的单词'ProductID',并将名称和值存储在关联数组中。我需要这样做,因为您可以通过另一个页面列出x数量的产品。所以有时只列出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

如果你有几个产品ID,我可以使用数组'名称=“产品[1]”'它会很容易再到管理后 –

+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

如果你有几个产品ID,我可以使用数组名称= “产品[1]” 这将是容易再到管理岗位

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

尝试回声$的ProductID [0];

0

正如Ôrel所指出的那样,我可以使用一个数组,并在我看来合适的时候循环使用它。

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

到:我从改变HTML

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

一旦提交表单,我改变了我的PHP:

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

这样我可以通过形式循环,直到我找到一个是数组(ProductID)并通过它作为关联数组循环的数组。这使我可以获得产品ID以及数量以进入下一步。