Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fagner

Somar Array

Recommended Posts

Somar resultado de Arraytenho as seguintes variaveis,$vlrtot = $reg[2]*$reg[4]; //$reg[2] quantidade de peças solicitadas e $reg[4] valor unitario da peça.$a = array($vlrtot);$valor = array_sum($a); porem nao funfa...os valores impressos da $vlrtot sao 103.12 64.45 e 5.00 entao a variavel $valor deveria possuir o valor de 172.57 correto.mas ta aparecedo 5 :wacko: Fagner :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se eu colocar, as duas casa apos elas serao 00, a minha coluna dentro da table onde esta armazenado esses dados é do tipo FLOAT(8,2).Teria uma outra solução Fagner :huh:

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom, desculpe-me se eu não entendi o que você quer, mas isso não ajudaria?

$reg[2] = 103.12;$reg[4] = 64.45;$reg[1] = 5.00;$vlrtot = $reg[2]+$reg[4]+$reg[1];echo $vlrtot;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe, isso daria certo sim mas nao pra mim pois os valores vem de um unico registro. Sao varios valores em um array. a coluna é do tipo FLOAT

Compartilhar este post


Link para o post
Compartilhar em outros sites

Retificandodentro da coluna preco que é representado pelo por $reg[3] tenho os seguintes valores..ex.:100.50 25.00454.25preciso somar os valores desse array "$reg[3]" estava usando array_sum($reg[3]) porem nao funfa. :huh: Fagner :unsure:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nada prescot-san nao sei oq ta ocorrendo vou postar o codigo aqui.

Ta todo o codigo ai.. tudin tudin, se puderem me ajudar..

 

<?   include ("conectar.php");   $seleciona = "SELECT cod,descr,preco,id,qtde FROM orcamento1 WHERE idclient = '$idclient' ORDER BY preco DESC";   $resultado = mysql_query($seleciona,$conexao);   $fim = mysql_num_rows($resultado);?><html><head><title></title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><script language="JavaScript" type="text/JavaScript"><!--function MM_openBrWindow(theURL,winName,features) { //v2.0  window.open(theURL,winName,features);}//--></script></head><body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"><? if ($fim <> "") { $MSG = "<img src=\"img/fechar_pedido.gif\" width=\"96\" height=\"19\" border=\"0\" onClick=\"MM_openBrWindow('fechar_orcamento.php','','scrollbars=yes,width=698,height=350')\">";?><table width="752" border="0" align="center">  <tr bgcolor="#C6C3FF">    <td width="205"><div align="center"><font color="#000000" size="1"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Codigo              Item</font></strong></font></div>    </td>    <td width="256"><div align="center"><font color="#000000" size="1"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Descrição</font></strong></font></div>    </td>    <td width="39"><div align="center"><font color="#000000" size="1"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Qtde</font></strong></font></div>    </td>    <td width="80"><div align="center"><font color="#000000" size="1"><strong><font face="Verdana, Arial, Helvetica, sans-serif">R$              Unitario</font></strong></font></div>    </td>    <td width="73"><div align="center"><font color="#000000" size="1"><strong><font face="Verdana, Arial, Helvetica, sans-serif">R$              Total</font></strong></font></div>    </td>    <td width="73"><div align="center"><font color="#000000" size="1"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Excluir</font></strong></font></div>    </td>  </tr>  <?      while ($reg = mysql_fetch_array($resultado))      {      $vlrtot  = $reg[2]*$reg[4];  ?>  <tr bgcolor="#FFCC99">    <td><font size="1" face="verdana"><? echo $reg[0]; ?></font></td>    <td><font size="1" face="verdana"><? echo $reg[1]; ?></font></td>    <td><font size="1" face="verdana"><? echo $reg[4]; ?></font></td>    <td><font size="1" face="verdana"><? echo number_format($reg[2], 2,',',''); ?></font></td>    <td><font size="1" face="verdana"><? echo number_format($vlrtot, 2,',',''); ?></font></td>    <td><div align="center"><font size="2"><a href=remover_peca.php?nid=<? echo $reg[4]; ?> onClick="return confirm('Deseja remover o item <? echo $reg[1]; ?> do seu Carrinho?')"><img src="img/lixeira.gif" width="14" height="18" border="0"></a></font></div></td>  </tr><?          for ($num=0;$num<count($reg[2]);$num++) { $valor = $valor+$reg[2][$num]; }      }    ?>  <tr bgcolor="#C6C3FF">    <td><em><strong><font color="#000000" size="2">Total</font></strong></em></td>    <td><font color="#000000" size="2"> </font></td>    <td><em><strong><font color="#000000" size="2"><? echo $tot_qtde; ?></font></strong></em></td>    <td><em><strong><font color="#000000" size="2"><? echo $tot_qtde; ?></font></strong></em></td>    <td><em><strong><font color="#000000" size="2"><? echo $valor; ?></font></strong></em></td>    <td><div align="center"><font size="1"><font size="2"><font color="#000000"></font></font></font></div>    </td>  </tr></table><? } else { $MSG = "<p> </p><p> </p><p> </p><p align='center'><font face='verdana' size='2'>Carrinho está vazio.</font></p>"; } ?><table width="752" border="0" align="center">  <tr>    <td><div align="right"><? echo $MSG; ?></a></div></td>  </tr></table><p> </p></body></html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom, é uma ideia: tente buscar esses dados acrescentando virgulas, depois você splita elas e faz o tratamento da soma, ex:

$reg[3] = "100.50,25.00,454.25";$s = split(",",$reg[3]);$t = $s[0]+$s[1]+$s[2];echo $t;

espero q te ilumine um pouco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode fazer isso direto no seu sql

 

$seleciona = "SELECT cod,descr,preco,id,qtde FROM orcamento1 WHERE idclient = '$idclient' ORDER BY preco DESC";

para :

$seleciona = "SELECT cod,descr,preco,id,qtde,(qtde * preco) as tot FROM orcamento1 WHERE idclient = '$idclient' ORDER BY preco DESC";
dae dentro do while é só da

echo $reg["tot"];

Outra coisa que pode ta errada maneira que você ta fazendo é mysql_fetch_array ( você poe o nome da coluna) mysql_fetch_row ( você poe o numero).

 

Falow boa sorte

Compartilhar este post


Link para o post
Compartilhar em outros sites

Puts.. to reabrindo esse topico ainda nao deu certo pensei que ia conseguir fazer a soma desse registro mas nao consegui, se trata de um orçamento online onde o cliente inclui a peça em e fecha o orçamento.. no final teria que aparecer a soma total do orçamento. segue codigo para analise.

<?   include ("conectar.php");   $seleciona = "SELECT cod,descr,preco,id,qtde,(qtde * preco) as tot FROM orcamento1 WHERE idclient = '$idclient' ORDER BY preco DESC";   $resultado = mysql_query($seleciona,$conexao);   $fim = mysql_num_rows($resultado);?> .......<?      while ($reg = mysql_fetch_array($resultado))      {   ?>  <tr bgcolor="#FFCC99">    <td><font size="1" face="verdana"><? echo $reg['cod']; ?></font></td>    <td><font size="1" face="verdana"><? echo $reg['descr']; ?></font></td>    <td><font size="1" face="verdana"><? echo $reg['qtde']; ?></font></td>    <td><font size="1" face="verdana"><? echo number_format($reg['preco'], 2,',',''); ?></font></td>    <td><font size="1" face="verdana"><? echo number_format($reg['tot'], 2,',',''); ?></font></td>    <td><div align="center"><font size="2"><a href=excluir.php?nid=<? echo $reg['id']; ?> onClick="return confirm('Deseja remover o item <? echo $reg[1]; ?> do seu Carrinho?')"><img src="img/lixeira.gif" width="14" height="18" border="0"></a></font></div></td>  </tr><?                         $valor_final = $reg['tot'];         }  ?>  <tr bgcolor="#C6C3FF">    <td><em><strong><font color="#000000" size="2">Total</font></strong></em></td>    <td><font color="#000000" size="2"> </font></td>    <td><em><strong><font color="#000000" size="2"><? echo $tot_qtde; ?></font></strong></em></td>    <td><em><strong><font color="#000000" size="2"><? echo $tot_qtde; ?></font></strong></em></td>    <td><em><strong><font color="#000000" size="2"><? echo array_sum($valor_final); ?></font></strong></em></td>    <td><div align="center"><font size="1"><font size="2"><font color="#000000"></font></font></font></div>    </td>  </tr></table><? }

Obrigado mais uma vez ao forum por me ajudar :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha, sempre que tenho problemas com script eu abro um novo documento e faco o script mais idiota possivel, usando as funcoes que sao necessarias...

 

<?$a[] = 13.5;$a[] = 1.5;echo $a[0]+$a[1]."|".array_sum($a);echo "|".$a[0]*$a[1];echo "|".$a[0]/$a[1];?>

Se isso acima funciona corretamente, algum ponto no seu script esta errado, pra verificar se tudo esta correndo como imagino, imprimo todas as variaveis, as vezes ocorre de uma delas n estar recebendo valores, enqto q, na minha cabeca ela tava funciona, portanto ignorava akele ponto...

 

Eu faria um documento ao lado, so de rascunho, buscando as variaveis e fazendo a conta, pq o cod html tah la pra atrapalhar sua visao, de foco ao codigo depois você ajusta no html uma vez q ele esta livre.

 

So pra ver, tenta fazer assim:

 

$valor_final = 0; // no topo do codigo

e no while coloca:

 

echo $valor_total += $reg['tot']; // eu coloco echo pra ver se o tah sendo somando novos valores...

 

 

é uma sugestao.. as vezes qndo o codigo travo, eu refaco ele.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.