我正在寻找正确的语法如何总结一个特定的变量,我循环。基本上,我做了一个循环。这是源代码。
<?php
$n = $_POST['n'];
for ($i=1;$i<=$n;$i++) {
?>
<h3 style="text-align:center"><b>ITEM <?php echo $i?>:</b></h3>
<p>DESCRIPTION:</p>
<input type="text" class="form-control" name="<?php echo $i.'description'; ?>" value="" autofocus>
<p>PROGRAM UNIT:</p>
<input type="text" class="form-control" name="<?php echo $i.'prog_unit'; ?>" value="" autofocus>
<p>PROGRAM QUANTITY:</p>
<input type="number" class="form-control" name="<?php echo $i.'prog_quantity'; ?>" min="0" value="0" step= ".001" autofocus>
<p>PROGRAM UNIT COST:</p>
<input type="number" class="form-control" name="<?php echo $i.'prog_unitcost'; ?>" min="0" value="0" step= ".00001" autofocus>
<p>QUANTITY ACCOMPLISHED PREVIOUS:</p>
<input type="number" class="form-control" name="<?php echo $i.'q_prev'; ?>" min="0" value="0" step= ".01" autofocus>
<p>QUANTITY ACCOMPLISHED THIS REPORT:</p>
<input type="number" class="form-control" name="<?php echo $i.'q_report'; ?>" min="0" value="0" step= ".01" autofocus>
<p>QUANTITY ACCOMPLISHED TOTAL TO DATE:</p>
<input type="number" class="form-control" name="<?php echo $i.'q_total_date'; ?>" min="0" value="0" step= ".01" autofocus>
<p>PERCENT ACCOMPLISHED PREVIOUS:</p>
<input type="number" class="form-control" name="<?php echo $i.'p_prev'; ?>" min="0" value="0.00" step= ".01" autofocus>
<p>COST INCURRED:</p>
<input type="number" class="form-control" name="<?php echo $i.'cost'; ?>" min="0" value="0" step= ".01" autofocus>
<input type="hidden" name="n" value="<?php echo $n; ?>"><br>
<?php }?>
字符串
这是上面代码的输出。enter image description here
然后,这是我将循环值插入数据库的语法。
if(isset($_POST['submit']))
{
$n = $_POST['n'];
for($i=1;$i<=$n;$i++)
{
$project = $_POST["project"];
$description = $_POST[$i."description"];
$prog_unit = $_POST[$i."prog_unit"];
$prog_quantity = $_POST[$i."prog_quantity"];
$prog_unitcost = $_POST[$i."prog_unitcost"];
$prog_total = ($prog_quantity * $prog_unitcost);
$q_prev = $_POST[$i."q_prev"];
$q_report = $_POST[$i."q_report"];
$q_total_date = $_POST[$i."q_total_date"];
$p_prev = $_POST[$i."p_prev"];
$p_report = ($q_total_date/$prog_quantity)*100;
$cost = $_POST[$i."cost"];
mysqli_query($bd,"insert into detailed_rpapi (project,description,prog_unit,prog_quantity,prog_unitcost,prog_total,q_prev,q_report,q_total_date,p_prev,p_report,cost)
values ('$project','$description','$prog_unit','$prog_quantity','$prog_unitcost','$prog_total','$q_prev','$q_report','$q_total_date','$p_prev','$p_report','$cost')");
}
$sum = $prog_total + $prog_total;
echo $sum;
echo "Data Added Successfully ...";
}
型
我想把$prog_total中的所有值相加。请帮助我huhuhu
2条答案
按热度按时间rjee0c151#
看起来你已经很接近了。而不是
$sum = $prog_total + $prog_total;
尝试$sum = $sum + $prog_total;
阅读https://www.php.net/manual/en/language.operators.assignment.php,并使用下面的代码。
字符串
更新:好的,我看到了一个错误,只是假设你得到了你期望的
$_POST[$i."prog_quantity"];
或$_POST[$i."prog_unitcost"];
。这些是期望值吗?6qfn3psc2#
备注:
name
属性声明可以更优雅地生成可重复形式。<label>
标记(而不是<p>
标记)并使用for
和id
将它们与输入元素关联起来将更有意义并改善用户体验--这些标记不使用方括号命名语法。execute()
准备好的语句。并非所有开发人员都支持使用PHP显示HTML的技术,但在您的情况下,您的from脚本可能类似于:
字符串
然后,接收表单提交的PHP脚本可能类似于:
型
免责声明:在发布此答案之前,这些片段都没有经过测试;如果其中任何一个片段有缺陷,请留下信息性评论。