我有一个while循环显示复选框,每个复选框都分配了一个值:
<input type='checkbox' name='rep[]' value='$invoiceID'>Reference Number: $invoiceID<input type='hidden' name='weektotal[]' value='$weekTotal'>";
例如,如果有3个复选框,它们看起来像这样:
[] Reference Number: 1 (hidden value 30)
[] Reference Number: 2 (hidden value 50)
[] Reference Number: 3 (hidden value 40)
否如果用户选中所有3个复选框,如何将所有3个隐藏值一起添加以将结果插入数据库中的字段(因此值为120)。或者,如果用户选择了前2个(因此值将为80)。我在INSERT语句之前的进程页面上尝试过这个:
$totalweek = array_sum($_POST['weektotal']);
然后在VALUE中使用$ totalweek插入。
这似乎有效,但是当我自己选择第一个或第二个复选框时,它会提供一个结果,好像它们都被添加了一样?
这样做的正确方法是什么?
答案 0 :(得分:1)
在流程页面上使用以下代码:
$my_var = $_POST['rep'];
$var = $_POST['weektotal'];
$expense = $_POST['expensetotal'];
$total=0;
for($i=0;$i<sizeof($my_var);$i++){
$total=$total+$var[$i];
$exp = $exp+$expense[$i];
}
$grand_total = $total+$exp;