Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola pessoal,
Estou com duvidas em exibir alguma informações da forma correta..
No caso valores(moedas R$), no meu bd estou usando um campo decimal(6,0) e preciso exibir os valores (ex: 156425 assim: R$1.564,25), tenho uma pagina que lista alguns registros e nela uma parte que deveria mostrar os valores em moedas soque não estou conseguindo fazer funcionar, alguem me da uma luz??
<?php
function valorbr($valor) {
$valor = number_format($valor, 2, ',', '');
return $valor;
}
$y = mysql_query("SELECT *,DATE_FORMAT(data_venc,'%d/%m/%Y') AS data_br FROM cadboleto ORDER BY data_br");
?>
<table class="table-style-one">
<tr>
<th width="250">Distribuidor</th>
<th width="110">Valor</th>
<th width="200">Data Vencimento</th>
<th width="50">Alterar</th>
<th width="50">Excluir</th>
</tr>
<?php while($x = mysql_fetch_array($y)){
echo'
<tr>
<td>'.$x['distrib'].'</td>
<td>'.$x['valor'].'</td>
<td>'.$x['data_br'].'</td>
<td align="center"><a href="alterar.php?id='.$x['id'].'"><img src="img/alterar.png" border="0"></a></td>
<td align="center"><a href="excluir.php?id='.$x['id'].'" onclick="return confirm(\'Tem certeza que deseja deletar esse registro?\');"><img src="img/excluir.png" border="0"></a></td>
</tr>';
}
?>
tentei até introduzir uma function mas esta dando erro de syntax.
Obrigado.
Ola, o problema é que eu nao estou conseguindo encaixar o format_number dentro do "echo" do while.
Pesquisei mas todos exemplos que achei nao passa nem perto do while.
Eu também não sei se essa é a melhor forma de buscar informações do banco
<?php
while($x = mysql_fetch_array($y)){
echo'
<tr>
<td>'.$x['distrib'].'</td>
<td>'.$x['valor'].'</td>
<td>'.$x['data_br'].'</td>
<td align="center"><a href="alterar.php?id='.$x['id'].'"><img src="img/alterar.png" border="0"></a></td>
<td align="center"><a href="excluir.php?id='.$x['id'].'" onclick="return confirm(\'Tem certeza que deseja deletar esse registro?\');"><img src="img/excluir.png" border="0"></a></td>
</tr>';
}
?>Tenta assim:
number_format($valor, 2, ',', '.');
Se você não consegue encaixar o number_format dentro do echo porque não executa ele fora?
while(...){
$numero = number_format($x['valor']/100, 2, ',', '.');
echo '...
<td>'.$numero.'</td>
...';
}Ola, desculpe a demora para responder.
Eu acabei mudando o esquema de mostrar o resultado e acabou dando certo.
Agora tenho outro problema:
$query = @mysql_query("SELECT SUM(valor) AS somavalor FROM cadboleto");
$row = @mysql_fetch_array($query);
$somatotal = number_format($row['somavalor']/100, 2, ',', '.');
if ($somatotal > 0)
echo "<tr bgcolor='#AD9355'>
<td>Soma total:</td>
<td>R$: $somatotal</td>";
else
echo "Nada encontrado!"
Eu estou somando alguns valores do BD "SUM(valor)" até ai tudo bem, porem preciso que ele some somente os valores referente ao mes da consulta.
Vou explicar melhor: eu tenho uma area que mostra todos os meses do ano, quando clico no mes de "junho" ele me mostra todos os resultados referente ao mes atual com isso, ele ele esta somando todos os valores da tabela "valor" do meu BD so que, eu preciso que ele faça a somatória somente dos valores do mês "06" em uma outra consulta some somente os valores do mês "07", ....
Alguem pode me dar uma luz?
Obrigado.
Ola, só dando um retorno para quem tiver a mesma duvida.
Resolvi usando isso:
$query = @mysql_query("SELECT SUM(valor) AS somavalor FROM cadboleto WHERE MONTH(data_venc) = '$mes_hoje'");
Onde "$mes_hoje" é o valor do mes que eu passo clicando no nome de cada mes.
Achei aqui: http://forum.imasters.com.br/topic/514921-mysql-soma-de-valor-em-determinado-mes/
O correto seria decimal 8,2 então. De qualquer sorte, divida o valor do banco por 100 e use number_format para formatar do modo como preferir.