我有一个带有CSV上传的网站,它会将CSV中的所有内容推送到临时表,然后拆分成更小的表格。
目前,我有一个显示页面,显示HTML表格中的所有信息。但是,有些部分需要具有公式表示。换句话说,如下面的屏幕截图所示,仪表体积除以测试仪体积,其总和乘以测试仪精度。该数字除以100以得出校正的准确度。
这是我的代码,但它没有加载我的网页,我认为PHP可能在建立变量时出错:
<table style="width:100%; border:none;
border-collapse:collapse;">
<? php
$test1FormA = $row['test1MeterVol'] / $row['test1TesterVol'];
$test1FormB = $test1FormA * $row['test1Accuracy'];
$test1FinalForm = $test1FormB / 100;
?>
<tr>
<td style="border:none; text-align: left;">Meter Volume: </td>
<td><? echo $row['test1MeterVol'];?> </td>
</tr>
<tr>
<td style="border:none; text-align: left;">Tester Volume: </td>
<td><? echo $row['test1TesterVol'];?> </td>
</tr>
<tr>
<td style="border:none; text-align: left;">Tester Accuracy: </td>
<td><? echo $row['test1Accuracy'];?> </td>
</tr>
<tr>
<td style="border:none; text-align: left;">Corrected Accuracy: </td>
<td><? echo $test1FinalForm;?> </td>
</tr>
</table>
目前数据库中没有更正的准确度,所以我想找到一种方法,每行都可以这样做,如上所述,或者在每次上传CSV时都可以这样做。有8个测试,因此在上传时,必须为CSV中的每5个记录中的8个不同字段执行该公式。我目前使用大型插入语句将CSV上传到临时表中。
有没有办法在PHP表格行中执行此操作?
更新:新结果的屏幕截图
更新:平均问题的代码
<?php
$sum=0;
for($i=1; $i<=8; $i++){
$testFormA = $row["test".$i."MeterVol"] / $row["test".$i."TesterVol"];
$testFormB = $testFormA * $row["test".$i."Accuracy"];
$testFinalForm = $testFormB / 100;
$sum += $testFinalForm;
echo"$sum";
?>
<td><?php echo round($testFinalForm,3) ?>%</td>
<?php }
$average = $sum / 8;
echo"$average";
?>
<td><?php echo round($average,3)?> </td>
答案 0 :(得分:1)
有很多方法可以满足您的需求。但最重要的是你需要一个循环结构来构建一个漂亮代码的表,而不是一遍又一遍地重复所有内容。
在您的情况下,您可以使用以下代码构建所有8个测试的整个最后一行:
viewDidLoad
而不是像&#34; test4MeterVol&#34;您使用$ i构建索引字符串以在每次循环迭代中访问正确的值。
在循环内执行方程将根据每个测试给出不同的值。
基于此代码以及构建索引来访问数据的方法,您应该能够构建其他行,这些行更简单。