2016-07-24 21 views
2

所以,让我们举一个例子,我有一个数据 Total Points is the sum of two points如何添加在PHP中使用不同的查询两种不同的行

现在我已经合并同名行,现在我需要做的是计算表两个总点的总和(总和)并显示在下一行中。这样 Total of 'total points' 这里是我的代码

<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> 

回答

0

总是你的PHP逻辑代码从HTML代码中分离。它可以让你编写更强大,更灵活,更容易调试的代码。

直到您将行构建为数组,才能完全使用PHP进行查询和计算。之后,你应该有这样的:

$tbl_1 = [ 
    ['abc',20,21,41], ['abc',25,14,39], 
    ['def',22,27,49], ['def',23,18,41] 
]; 

你甚至都不需要第二次查询,因为你已经把所有的数据。只需操纵它在PHP中得到你所需要的统计数据,并把他们在第2个数组:

$tbl_2 = [ 
    ['abc',45,35,80], ['def',45,45,90] 
]; 

要找到盛大总,您可以通过任一阵列的第三列循环。

只有当您全部完成了所有的逻辑之后,才能转到HTML并显示结果。

相关问题