2016-09-25 2 views
0

ich bin neu zu mysql also ich versuche, Zahlung Zeitplan für meine Arbeit zu machen. Ich muss insgesamt die Nummern als "Zahlung" angezeigt haben.Mysql Summenspalte

<?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"; 
     } 
    ?> 

Note "Loon" (Vom Boden (uren * Seetaucher) ist eine feste Anzahl (9,56)

image of table

Antwort

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

Oder tun es in 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

Danke, ich kann die Summe der zwei extrahieren (übrigens muss Ihre Zahlung total sein). Jedoch zeigt die Tabelle nur die erste ID jetzt. – Rubenxfd

+0

Whe Wenn Sie die Funktion SUM() verwenden, erhalten Sie immer eine Zeile, es sei denn, Sie verwenden die Anweisung GROUP BY. In Ihrem Fall müssen Sie eine andere Abfrage aufrufen, SUM nicht in Ihre Abfrage aufnehmen. – ElChupacabra