2016-09-25 12 views
0

저는 mysql에 처음이므로 제 작업에 대한 지불 일정을 잡으려고합니다. 총계를 "지불금"으로 표시해야합니다.Mysql Sum Column

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

고마워, 내가 총 두 (btw 귀하의 지불 총 있어야합니다) 추출 할 수 있습니다. 그러나 테이블에만 지금은 첫 번째 ID를 보여줍니다. – Rubenxfd

+0

Whe n SUM() 함수를 사용하면 GROUP BY 문을 사용하지 않는 한 항상 1 행을 얻습니다. 귀하의 경우에는 다른 쿼리를 호출해야하며 쿼리에 SUM을 포함시키지 마십시오. – ElChupacabra