Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 279
Sexo: Masculino

Ordenar valor em R$ float no PHP

28-03-2018 01:09

Olá amigos, preciso de uma ajuda:

Tenho uma lista que pega dados de uma coluna do meu BD mysql, que está em FLOAT e gravado assim: XXXX.X.

Aí eu jogo ele no php e mando exibir o valor em R$:
echo "<td>R$ ".number_format($linha_vendas["vendastotal"], 2, ',', '.')."</td>";

Com o código acima ele formata tudo certinho do jeito que eu quero: R$ 1.945,24

Porem na tabela, quando o valor é menor que 1.000,00, ele nao ordena certo, ele joga por ultimo. Ex.: eu tenho um valor 855,40 que ele nao põe em primeiro, vai pra último (print 1).

Se eu deixo sem a virgula ele ordena certo, porem nao formata do jeito que preciso. (print 2 e codigo abaixo)

echo "<td>R$ ".number_format($linha_vendas["vendastotal"], 2)."</td>";

O que pode ser? Como posso fazer para organizar e exibir o dado como no print 1 ordenado por favor?

Obrigado

Print 1:
Imagem

Print 2:
Imagem
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17840
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Ordenar valor em R$ float no PHP

28-03-2018 16:35

No banco de dados valores abaixo de 1000 devem estar com ponto. Exemplo: 800.50

Já a formatação do valor após a exibição você pode fazer assim:

number_format($linha_vendas["vendastotal"], 2, ',', '.')

0
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 279
Sexo: Masculino

Re: Ordenar valor em R$ float no PHP

30-03-2018 18:03

Primeiramente obrigado pela resposta.

Eu já fiz isso como descrevi no post, já está no banco com ".", veja o anexo.
Imagem

Aí quando eu dou o number_format().... na soma, ele não ordena o valor corretamente, onde a soma for menor que 1.000,00, ele joga por último, acredito por entender que 855,40 é maior que 40.555,00 (quis dizer que ele entende que 855 é maior que 40).

Os campos do Banco estão em Float, são vários valores somados.

Se eu tiro o number format ele organiza certo, como nos prints anteriores, porem o formato dele fica R$ 1,359.50 por exemplo.

O que mais pode ser?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17840
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Ordenar valor em R$ float no PHP

30-03-2018 19:34

Essa soma você faz na query? Se possível disponibiliza o sql para eu instalar sua tabela aqui com alguns dados e a consulta que está fazendo.
0
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 279
Sexo: Masculino

Re: Ordenar valor em R$ float no PHP

30-03-2018 21:28

Segue código da soma abaixo e anexo o sql:

$vendas = "SELECT SUM(valorNfHistorico) as vendastotal FROM historicopdv WHERE pdvCod = '$pdvCod' "; $resultado_vendas = mysqli_query($conn, $vendas); $linha_vendas = mysqli_fetch_assoc($resultado_vendas); if($resultado_vendas->num_rows){ echo "<td>R$ ".number_format($linha_vendas["vendastotal"], 2, ',','.')."</td>"; } else { echo "<td> - </td>"; }


Se eu fizer assim ele organiza corretamente, porem exibe o resultado do jeito que nao quero (R$ 1,653,33 por exemplo):
if($resultado_vendas->num_rows){ echo "<td>R$ ".number_format($linha_vendas["vendastotal"], 2, ',',',')."</td>"; } else { echo "<td> - </td>"; }

0
Você não está autorizado a ver ou baixar esse anexo.
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17840
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Ordenar valor em R$ float no PHP

31-03-2018 20:14

Eu fiz um teste com a tabela que você mandou e a seguinte query do post. Como não sabia o valor da variável usei um dos valores da tabela.

SELECT *, SUM(valorNfHistorico) as vendastotal FROM historicopdv WHERE pdvCod = '40495'

O resultado foi somente uma linha, com o valor R$ 1.121,40

Veja ai onde está o erro porque aqui não consegui listar vários resultados.
0
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 279
Sexo: Masculino

Re: Ordenar valor em R$ float no PHP

01-04-2018 16:01

Que pena. Achei que era uma coisa simples, pois o problema é na ordenação, quando o valor é inferior a 1.000 ele ordena errado na exibição correta.

Mas mesmo assim agradeço a atenção.

Obrigado
0
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 279
Sexo: Masculino

Re: Ordenar valor em R$ float no PHP

01-04-2018 17:02

Amigo, achei o problema mas ainda não achei a solução:

Estou usando um plugin chamado "DataTable", ele que dá o layout e formata minha tabela.

Pesquisando aqui na internet, encontrei que esse plugin não considera o formato R$ 0.000,00 como valor e não consegue organizar corretamente.

Estou avisando aqui, caso queira mudar o topico de lugar e se pode me ajudar a resolver com mais essa informação.

Desde já agradeço novamente

Abs
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17840
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Ordenar valor em R$ float no PHP

01-04-2018 17:28

No caso do plugin provavelmente você acha algo no manual dele. Ai é só você entrar na página onde baixou o plugin e procurar o link do manual. Ai veja se tem algo relacionado a organização da listagem.

Não sei se é esse que você usou. https://datatables.net/examples/basic_i ... rting.html

Se não achar uma solução ai me envie um modelo mais básico com o plugin que analiso melhor.
0
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 279
Sexo: Masculino

Re: Ordenar valor em R$ float no PHP  #resolvido

19-04-2018 11:28

Consegui! Coloquei um comando que identifica a separação e fala o formato desejado:

<script type="text/javascript"> $('#data-table').dataTable( { "language": { "decimal": ",", "thousands": "." }, } ); </script>

Também tinha uma duplicação na hora de inicializar a tabela, em um arquivo demo do plugin.

Agora tudo certo.

Obrigado
0

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado