Cully
Cully

Reputation: 470

Adding mysql entries together and displaying them in a table

My data (simplified) looks like....

------------------------
| key |  id  | minspld |
------------------------
| 1   | 400  |   90    |
| 2   | 400  |   40    |
| 3   | 401  |   38    |
| 4   | 401  |   90    |
| 5   | 402  |   90    |
| 6   | 402  |   89    |
| 7   | 403  |   77    |
| 8   | 403  |   15    |
| 9   | 404  |   90    |
-----------------------

I am trying to do....

Here's what I'm using at the moment and I'm displaying all entries separately (eg, each person shows twice)

<table><thead><tr><th>ID</th><th>Mins Played</th></tr></thead>
<tbody>

<?php
$queryget = mysql_query("SELECT * FROM mlsstats ORDER BY id ASC") or die(mysql_error());

while ($row = mysql_fetch_assoc($queryget))
{
    $id = $row['id'];
    $minspld = $row['minspld'];

    echo "<tr>";
    echo "<td>".$id."</td>";
    echo "<td>".$minspld."</td>";
    echo "</tr>";
}
?>

</tbody></table>

How would I write this to make each id show only once in the HTML, but with the added totals of all their minspld entries? (eg, id 400 would have 130. id 401 would have 128. etc.)

If this isn't clear, please let me know.. and thanks for any help.

Upvotes: 0

Views: 45

Answers (2)

Muhammad Raheel
Muhammad Raheel

Reputation: 19882

You dont have to use a loop for this. You can simply do this with query Just run the query and get two columns. id and its total

SELECT
    m.id,
    SUM(minspld) AS TCount
FROM mytable AS m
GROUP BY m.id

Upvotes: 1

Eric S
Eric S

Reputation: 1363

Please try changing your query to:

SELECT id, SUM(minspld) AS minspld FROM mlsstats GROUP BY id ORDER BY id ASC

Upvotes: 2

Related Questions