提交表单后,我需要在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",如果匹配,则将名称和值存储到关联数组中。此刻一切都在回归真实。如有任何帮助,我们将不胜感激。
使用:
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
}
}
如果你有几个ProductID,我可以使用一个数组name="ProductID[1]",那么管理你的后将很容易
$ProductID= $_POST['ProductID'];
尝试echo$ProductID[0];
正如Ôrel所指出的,我可以使用一个数组,并在我认为合适的时候循环。我将HTML从:更改为
<select class="form-control valid" name="ProductID-1">
至:
<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以及进入下一步的数量。