2016-09-25 65 views
0

我是新來的mysql,所以即時通訊嘗試爲我的工作付款時間表。我需要將總數顯示爲「付款」。Mysql Sum列

<?php 

     $sql = "SELECT id, DATE_FORMAT(datum, '%d/%m/%Y'), tijd, uren, floor(uren*loon) as payment FROM uren_gewerkt"; 

     $result = $conn->query($sql); 

     if ($result->num_rows > 0) { 
      echo "<table><tr><th>Datum</th><th>Tijden</th><th>Uren</th><th>Loon</th></tr>"; 
      // output data of each row 
      while($row = $result->fetch_assoc()) { 
       echo "<tr><td>".$row["DATE_FORMAT(datum, '%d/%m/%Y')"]."</td><td>".$row["tijd"]."</td><td>".$row["uren"]."</td><td>&euro;".$row["payment"]."</td></tr>"; 
      } 
      echo "</table>"; 

      echo "Totaal:"; //Sum of payment goes here 

     } 
     else { 
      echo "0 results"; 
     } 
    ?> 

注 「龍」(從地板(uren *龍)是一個固定的數(9.56)

image of table

回答

1
SELECT SUM(floor(uren*loon)) as total FROM uren_gewerkt 

還是做在PHP:

$total = 0; 
//here goes your while loop 
while($row = $result->fetch_assoc()) { 
    echo "<tr><td>".$row["DATE_FORMAT(datum, '%d/%m/%Y')"]."</td><td>".$row["tijd"]."</td><td>".$row["uren"]."</td><td>&euro;".$row["payment"]."</td></tr>"; 
    $total += $row["payment"]; 
} 
echo "Totaal: &euro;".$total; 
+0

謝謝,我可以提取總數的兩個(順便說一句,你的付款必須是總數)。但是表格現在只顯示第一個ID。 – Rubenxfd

+0

Whe在使用SUM()函數時,除非使用GROUP BY語句,否則總是獲得1行。在你的情況下,你需要調用另一個查詢,不要在你的查詢中包含SUM。 – ElChupacabra