2016-07-24 74 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並顯示結果。

相關問題