让我们举一个例子,我有一个表,其中数据总点数是两点之和
现在我已经合并了具有相同名称的行,现在我需要做的是计算两个总点的合计(总和)并将其显示在下一行中。像这样的“总分”这是我的代码
<table>
<tr align="center">
<td>Name</td>
<td>Point1</td>
<td>Point2</td>
<td>Total Points</td>
</tr>
<?php
$select_name = mysql_query("SELECT * FROM test");
while($row = mysql_fetch_array($select_name))
{
?>
<tr align="center">
<td><?php echo $row['name']; ?></td>
<td><?php echo $row['point1']; ?></td>
<td><?php echo $row['point2']; ?></td>
<td><?php echo $row['point1']+$row['point2']; ?></td>
</tr>
<?php } ?>
<tr align="center">
<td>Name</td>
<td>Point1</td>
<td>Point2</td>
<td>Total Points</td>
</tr>
<?php
$select_name = mysql_query("SELECT DISTINCT name FROM test");
while($row = mysql_fetch_array($select_name))
{
$query_table1 = mysql_query("SELECT sum(point1) as sum1,sum(point2) as sum2, sum(point1)+sum(point2) as total FROM test WHERE name='".$row['name']."'");
?>
<tr align="center">
<td><?php echo $row['name']; ?></td>
<td><?php echo mysql_result($query_table1, 0, "sum1"); ?></td>
<td><?php echo mysql_result($query_table1, 0, "sum2"); ?></td>
<td><?php echo mysql_result($query_table1, 0, "total"); ?></td>
</tr>
<?php } ?>
<tr align="center">
<td>Total</td>
<td></td>
<td></td>
<td>???</td>
</tr>
始终将PHP逻辑与HTML分开。它使您可以编写功能更强大,更灵活且更易于调试的代码。
完全使用PHP进行查询和计算,直到将行建立为数组为止。之后,您应该具有以下内容:
$tbl_1 = [
['abc',20,21,41], ['abc',25,14,39],
['def',22,27,49], ['def',23,18,41]
];
您甚至不需要第二查询,因为您已经拥有所有数据。只需在PHP中对其进行操作即可获取所需的统计信息,然后将其放入第二个数组中:
$tbl_2 = [
['abc',45,35,80], ['def',45,45,90]
];
要查找总计,您可以遍历任一数组的第3列。
只有当您完成所有逻辑后,才应该继续使用HTML并显示结果。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句