Adding numbers from an array

1

I'm using a loop to display all the answers from a respective column of my bd. But I need to add all the numbers contained in this array.

Code I am using:

<?php 

$host = "xxx";
$db   = "xxx";
$user = "xxx";
$pass = "xxx";

// conecta ao banco de dados
$con = mysql_pconnect($host, $user, $pass) or trigger_error(mysql_error(),E_USER_ERROR); 

// seleciona a base de dados em que vamos trabalhar
mysql_select_db($db, $con);

// cria a instrução SQL que vai selecionar os dados
$query = sprintf("SELECT totalPrice, Time FROM deposits ORDER BY Time ASC");

// executa a query
$dados = mysql_query($query, $con) or die(mysql_error());

// transforma os dados em um array
$linha = mysql_fetch_assoc($dados);

// calcula quantos dados retornaram
$total = mysql_num_rows($dados);
?>

<html>
    <head>
    <title>Investimentos</title>
</head>
<body>
<?php
    // se o número de resultados for maior que zero, mostra os dados
    if($total > 0) {
        // inicia o loop que vai mostrar todos os dados
        do {
?>
            <p><?=$linha['totalPrice']?>$</p>
<?php
        // finaliza o loop que vai mostrar os dados
        }while($linha = mysql_fetch_assoc($dados));
    // fim do if 
    }

?>
</body>
</html>
<?php
// tira o resultado da busca da memória
mysql_free_result($dados);

The result of this array is like this:

120$

-100$

400$

-150$

500$

-460$

100$

-290$

100$

-295$

120$

180$

-600$

-700$

-100$

1200$

100$

-200$

100$

600$

-120$

I need to get the total sum of these numbers in the end, can anyone help?

    
asked by anonymous 06.07.2015 / 16:53

2 answers

0

Create a variable that takes the sum of the array, for example:

int somaTotal;

somaTotal = somaTotal + atoi(linha[Indice])

Something like that, I used atoi which is a function in C that turns char into integer.

Try this:

$host = "xxx";
$db   = "xxx";
$user = "xxx";
$pass = "xxx";

$somaTotal = 0.0;

// conecta ao banco de dados
$con = mysql_pconnect($host, $user, $pass) or trigger_error(mysql_error(),E_USER_ERROR); 
// seleciona a base de dados em que vamos trabalhar
mysql_select_db($db, $con);
// cria a instrução SQL que vai selecionar os dados
$query = sprintf("SELECT totalPrice, Time FROM deposits ORDER BY Time ASC");
// executa a query
$dados = mysql_query($query, $con) or die(mysql_error());
// transforma os dados em um array
$linha = mysql_fetch_assoc($dados);
// calcula quantos dados retornaram
$total = mysql_num_rows($dados);
?>

<html>
    <head>
    <title>Investimentos</title>
</head>
<body>
<?php
    // se o número de resultados for maior que zero, mostra os dados
    if($total > 0) {
        // inicia o loop que vai mostrar todos os dados
        do {
?>
            $somaTotal += (float)$linha['totalPrice'];
<?php
        // finaliza o loop que vai mostrar os dados
        }while($linha = mysql_fetch_assoc($dados));
    // fim do if 
       print $somaTotal;
    }

?>
</body>
</html>
<?php
// tira o resultado da busca da memória
mysql_free_result($dados);
    
06.07.2015 / 16:57
0

You can use the array_sum example:

No PHP :

$array = array(150,500,460,100,-290,100, 295,120,180,600,700,100,1200,100,200,100,600,-120);

echo array_sum($array);

 /*retorna a soma do array. se você informar o indice $linha['totalPrice']
 ira somar apenas os valores do indice TotalPrice */

No Mysql :

    SELECT SUM(nome_coluna) AS valor_soma FROM nome_tabela;

You can even add other columns ...

 SELECT SUM(nome_coluna1 + nome_coluna2) AS valor_total_soma FROM nome_tabela;

No Php looks like this:

$result = mysql_query('SELECT SUM(nome_coluna1) AS valor_soma FROM nome_tabela'); 
$row = mysql_fetch_assoc($result); 
$sum = $row['valor_soma '];
    
06.07.2015 / 17:23