while($row = mysql_fetch_array($result)){
echo '<tr>
<td>'.$row[0].'</td>
<td>'.$row[1].'</td>
<td>'.$row[2].'</td>';
$price=$row['price'];
echo "<td><input type='checkbox' name='er' value='$price'></td>";
echo "</tr>";
PHP文件
<?php
$ercharge=$_POST['er'];
echo $ercharge;
?>
我有一个来自mysql表的收费清单,它有一个每个项目的复选框,所以它会计算总和。上面的代码工作,它输出检查项目的价格。问题是,它只是一个项目。选中多个项目时,只输出一个。
答案 0 :(得分:1)
试试这个: -
echo "<td><input type='checkbox' name='er[]' value='$price'></td>";
答案 1 :(得分:1)
试试这可能会对你有所帮助
echo "<td><input type='checkbox' name='er[]' value='$price'></td>";
echo "</tr>";
$recharge=$_POST['er'];
foreach($recharge as $val)
{
echo $val;
}
或强>
您可以使用foreach
$arra_val=array_sum($recharge);
你只需要将值放入某个变量并回显它。
答案 2 :(得分:0)
如果要在数组中传递多个元素,请使用方括号添加名称,因此它将是:
echo "<td><input type='checkbox' name='er[]' value='$price'></td>";
$ _POST ['er']的结果将是所有复选框值的数组。
答案 3 :(得分:0)
输入框名称应该通过添加[]
后缀来反映它是一个数组:
echo '<td><input type="checkbox" name="er[]" value=" . htmlspecialchars($row['price']) . "></td>';
然后,在确保输入验证为正确值后处理总和:
if ($ers = filter_input(INPUT_POST, 'er', FILTER_VALIDATE_FLOAT, FILTER_FORCE_ARRAY)) {
$ercharge = array_sum($ers);
}