Ir para conteúdo

Arquivado

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

hebert viana

Converter valores de campo varchar em valores moedas com php

Recommended Posts

Bom dia pessoal

Estou com o seguinte problema, recebi um banco de dados onde uma das tabelas contem um campo varchar que guarda valores no formato moeda (real).

Exemplo dos valores:

0,4

10,50

1.540,02

1.111.333,55

e assim por diante....

essa entrada é feita por um input formatado por jquery.

 

o que preciso é somar os valores separando as categorias, exemplo

 

$rs = mysql_query('select * from tabela where categora = 2');

 

while($resultado = mysql_fetch_array($rs))
{
$soma1 = $resultado['valor'];
$soma1 += $soma1;
}
echo ("R$ ".$soma1);
eu preciso que na tela seja imprimido R$ x.xxx,xx
Li o manual da função SUM mas devido o campo ser varchar complicou...

 


encontrei essa função para converter

 

setlocale(LC_MONETARY, 'de_DE');
echo
money_format('%=*^-14#8.2i', 1234.56) . "\n";

para moeda.....

antes disso preciso somar...


Encontrei na net essa dica e resolveu meu problema com a soma...

 

select sum(cast(replace(replace(valor_finan, '.', ''), ',', '.') as decimal(10,2)))

 

agradecido pela ajuda....

Compartilhar este post


Link para o post
Compartilhar em outros sites

o correto seria usar um campo numérico. Faça isso o mais cedo possível. Quando o sistema crescer mais, será mais trabalhosa a migração

 

 

PS: funções mysql_* estão obsoletas desde o PHP 5.5. Prefira usar MySQLi ou PDO. Veja mais aqui: http://www.ultimatephp.com.br/php-por-que-nao-utilizar-funcoes-mysql

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pensei em mudar para um campo numerico, mas pouco trabalho com esse tipo de campo Beraldo e, por isso me senti inseguro por não saber decidir por double, decimal...etc.....

 

Esse link teu LUkas era o que estava procurando, vou usar esse estrutura ao invés da minha embora resolvido....agradeço a força de voces....

abraços...

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.