Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Inserindo e Vizualizando valores da tabela BD


Tiago Frutuoso

Pergunta

Boa tarde pessoal,

Estou tendo um certo problema para inserir no BD um campo de valor, na tabela esta criado como float, o campo vem com o seguinte formato (Ex.: 1.500,00).

Como poderia fazer para que fique pelo menos no banco (ex.: 1500.00), para que depois eu possa pegar esse dado do BD e mostrar para o usuario o valor (Ex.: 1.500,00).

Agradeço desde já a atenção de todos.

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0
Use o str_replace para substituir o ponto por 'nada' e depois o mesmo str_replace para substituir a vírgula por ponto. Lembando que seria melhor usar decimal para guardar valor monetário.

E eu poderia colocar de qual forma, veja se esta correto dessa maneira:

$valorFinal1=str_replace(".","",$valor) && str_replace(",",".",$valor) ;

Link para o comentário
Compartilhar em outros sites

  • 0

faz o seguinte salvo no banco como um número decimal em mysql o tipo do campo será DECIMAL(M, D) onde o parâmetro M é o número total de dígitos que será armazenado, e D o número máximo de casas decimais.

para escrever use essa função

number_format($valor, 2, ',', '.');

onde $valor é a variável que contêm o valor, 2 é o número de casas decimais que será mostrado, ',' é o caractere que separa as casas decimais e '.' é o caractere que separa o milhar

Espero que ajude

Abrass.

Link para o comentário
Compartilhar em outros sites

  • 0
faz o seguinte salvo no banco como um número decimal em mysql o tipo do campo será DECIMAL(M, D) onde o parâmetro M é o número total de dígitos que será armazenado, e D o número máximo de casas decimais.

para escrever use essa função

number_format($valor, 2, ',', '.');

onde $valor é a variável que contêm o valor, 2 é o número de casas decimais que será mostrado, ',' é o caractere que separa as casas decimais e '.' é o caractere que separa o milhar

Espero que ajude

Abrass.

Mudei o campo da tabela para DECIMAL(10,2) e no insert coloquei o seguinte:

$valor="1.500,00";

$valorFinal2=number_format($valor, 2, ',', '.');

no BD ficou como 1.00

Att,

Link para o comentário
Compartilhar em outros sites

  • 0

Serra, consegui resolver, segue abaixo:

Esse foi para inserir no BD:

function moeda($get_valor) {
                $source = array('.', ','); 
                $replace = array('', '.');
                $valor = str_replace($source, $replace, $get_valor); //remove os pontos e substitui a virgula pelo ponto
                return $valor; //retorna o valor formatado para gravar no banco
        }
        
        //Chamada da função
        $valor_final=moeda($_POST['valor']);
e para poder visualizar, utilizei esse:
$valor_bol = $res_bol_abertos[3];
        $valor_servico = ' R$ ' . number_format($valor_bol, 2, ',', '.');

Link para o comentário
Compartilhar em outros sites

  • 0

Acho que me expressei mau

No db você ira salvar assim

$valor = 1500;

$valor2 = 1500.50;

$valor3 = 3115/2;

...

no banco vai ficar:

1500.00

1500.50

1557.50

...

Depois quando for escrever isso em uma página através do PHP você utiliza aquela função que eu postei porque ele vai converter o

1500.00 para 1.500,00,

1500.50 para 1.500,00 ...

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,7k
×
×
  • Criar Novo...