het zal waarschijnlijk heel simpel te realiseren zijn, maar toch:

<?
$query = "SELECT Un.unit_name, Un.user_id, Un.amount, U.attack, U.defense FROM Units Un INNER JOIN UnitTypes U ON( Un.unit_name = U.unit_name ) INNER JOIN Users ON( Users.user_id = Un.user_id )";

$result = mysql_query($query) or die (mysql_error());
while ($link= mysql_fetch_array($result)) {
$attack = $link[attack] * $link[amount];
$bla = $link[attack];
$bla2 = $link[defense];
echo "$attack , $bla , $bla2<br>";
}
?>

dit laat de attack waarde van een leger zien, en de attack en defense waarde van een bepaalde unit. Als ik meerdere legers heb laat ie alle legers onder elkaar zien met de attack en defense waarde erbij.

Mijn vraag: hoe kan ik al die waardes van $attack bij elkaar op tellen?
Code is online te zien op http://www.game-kings.com/aoe/test.php

Dat ie in het geval van het voorbeeld voor de nieuwe waarde van $attack 17740 laat zien (17500 + 240).
SUM() in de query doet wonderen en kan hier wellicht ook uitkomst bieden. Probeer het eens.

Zie ook hoofdstuk 12 van de MySQL-handleiding.
het probleem is dat ik niet de sum wil van 1 kolom, maar van de waarde van 2.

in dit geval
<?
$attack = $link[attack] * $link[amount];
?>

deze 2 rijen.

ik wil de sum van alle $attack resultaten.

SELECT
  SUM(kolom1 * kolom2) AS resultaat
FROM
  tabelnaam

En nogmaals: Zie ook hoofdstuk 12 van de MySQL-handleiding.

Reageren