Fagner 1 Denunciar post Postado Fevereiro 11, 2004 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
Alisson Rodrigues 3 Denunciar post Postado Fevereiro 12, 2004 Tenta colocar vírgula ao invés de ponto. ;) Compartilhar este post Link para o post Compartilhar em outros sites
Fagner 1 Denunciar post Postado Fevereiro 12, 2004 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
rockbilly 0 Denunciar post Postado Fevereiro 12, 2004 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
Fagner 1 Denunciar post Postado Fevereiro 12, 2004 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
Fagner 1 Denunciar post Postado Fevereiro 12, 2004 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
Alisson Rodrigues 3 Denunciar post Postado Fevereiro 12, 2004 Tenta fazer um laço então: for ($num=0;$num<count($reg[3]);$num++) {$total = $total+$reg[3][$num];}Bom, sei lá, tenta aí. Compartilhar este post Link para o post Compartilhar em outros sites
Fagner 1 Denunciar post Postado Fevereiro 12, 2004 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
rockbilly 0 Denunciar post Postado Fevereiro 12, 2004 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
ualex 0 Denunciar post Postado Fevereiro 12, 2004 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
Fagner 1 Denunciar post Postado Fevereiro 16, 2004 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
Keitaro 0 Denunciar post Postado Fevereiro 16, 2004 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
Fagner 1 Denunciar post Postado Fevereiro 16, 2004 Valeu.. deu certo agora.. caso queire dar uma olhadahttp://www.viacometa.com.br/sicaph/consultar.php Compartilhar este post Link para o post Compartilhar em outros sites