使用复选框中的值显示foreach中的各个值

时间:2017-08-13 06:07:21

标签: php forms checkbox foreach

我是一个新手,我有一个复选框,它将值传递给foreach循环,然后给我一个选定项目的结果作为一个工作正常的列表。但是我想获得单独获得所有个人可能每个人新变量,以便我可以单独重用所有检查的值。请帮助

表格。

<form action="" method="post"
       <a target="_blank" href="paris.jpg"><img src="flour.jpg" alt="Paris" style="width:150px"></a><input type="checkbox" name="day[]" value="50 kg flour-50ksh"/><input type="checkbox" name="shipping[]" value="$50.00"><label>50 kg flour-50ksh</label>
       <a target="_blank" href="paris.jpg"><img src="milk.jpg" alt="Paris" style="width:150px"></a><input type="checkbox" name="day[]" value="50 kg milk-50ksh"/><input type="checkbox" name="shipping[]" value="$10.00 "><label>50 kg milk-10ksh</label>
       <a target="_blank" href="paris.jpg"><img src="maize.jpg" alt="Paris" style="width:150px"></a><input type="checkbox" name="day[]" value="50 kg maize-50ksh"/><input type="checkbox" name="shipping[]" value="$20.00 "><label>50 kg maize-20ksh</label>
       <a target="_blank" href="paris.jpg"><img src="oil.jpg" alt="Paris" style="width:150px"></a><input type="checkbox" name="day[]" value="50 kg oil-50ksh"/><input type="checkbox" name="shipping[]" value="$30.00 "><label>50 kg oil-30ksh</label>
       <a target="_blank" href="paris.jpg"><img src="rice.jpg" alt="Paris" style="width:150px"></a><input type="checkbox" name="day[]" value="50 kg rice-50ksh"/><input type="checkbox" name="shipping[]" value="$40.00 "><label>50 kg rice-40ksh</label><br/>
       <a target="_blank" href="paris.jpg"><img src="soap.jpg" alt="Paris" style="width:150px"></a><input type="checkbox" name="day[]" value="50 kg soap-50ksh"/><input type="checkbox" name="shipping[]" value="$50.00"><label>50 kg soap-50ksh</label>
       <a target="_blank" href="paris.jpg"><img src="juice.jpg" alt="Paris" style="width:150px"></a><input type="checkbox" name="day[]" value="50 kg juice-50ksh"/><input type="checkbox" name="shipping[]" value="$50.00"><label>50 kg juice-50ksh</label><br>
       <label for="name"> Mobile:</label>
       <input type="number"  placeholder="10" id="mobile" name="mobile"  maxlength="10" size="10" pattern="[0-10]{10}" required/>
       <label for="name">Names:</label>
       <input type="text" id="name" name="name" required formtarget="_blank"/>  
       <label for="location">location details:</label>
       <input type="text" id="location" name="location" required/>
       <input type="hidden" name="submitted" value="true"/><br>
   <input type="submit" name="submit" value="Submit"/><br>

表格有双重复选框,忽略另一个。

PHP代码

<?php
if(isset($_POST['submit'])){
foreach($_POST['day'] as $day)
{
echo $day;
}
}
?>

我得到什么 50公斤牛奶-50ksh50公斤玉米-50ksh50公斤油-50ksh50公斤大米-50ksh50公斤果汁-50ksh

我怎么能让它像= = 50公斤牛奶-ksh50 b = .... c = ...所以我可以分配可能$ john = a?那么我将能够重用$ john?

请帮忙。

1 个答案:

答案 0 :(得分:0)

在复选框中,如果要生成关联数组,可以使用所需的单个字母填充复选框字段中的方括号,如下所示:

<input type="checkbox" name="day['a']" value="50 kg flour-50ksh"/>
<input type="checkbox" name="day['b']" value="50 kg milk-50ksh"/>
...

然后您可以像这样访问它们:

$_POST ['day']['a']
$_POST ['day']['b']
...

在一个循环中,(如果你给每个复选框添加了唯一的字母),它可能会有点像这样:

foreach($_POST['day'] as $key=>$val){
    echo "<p>$key = $val</p>";
}

输出:

a = 50 kg flour-50ksh
b = 50 kg milk-150ksh
c = 50 kg maize-50ksh
d = 50 kg oil-50ksh
e = 50 kg rice-50ksh
f = 50 kg soap-50ksh
g = 50 kg juice-50ksh