Mysql + PHP [RESOLVIDO]

13. Re: Mysql + PHP [RESOLVIDO]

Geraldo Augusto de Oliveira Quites
geraldoquites

(usa Suse)

Enviado em 11/01/2012 - 10:58h

Andre, fiz o que você falou e deu certo, fechei o form e abri novamente...

Agora está funcionando legal...

Tem um detalhe que está me incomodando, na coluna de valores, eu preciso que ele alinhe pela direita e em formato de valor ***.***.***,**
As colunas são: saldo_anterior, debito, credito e saldo_atual

Tem jeito?

Segue o php:
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>

<?php
// Fazemos o include do arquivo com as config do banco de dados
include "config.php";
// Executa a cláula SQL
include "listar.php";
//Executa a consulta

if(isset($_POST["campodocliente"])) {
$campo = $_POST["campodocliente"];
$campo1 = $_POST["campodousuario"];
$sql = "SELECT * FROM balancete where usuario='$campo1' and cliente = '$campo' ORDER BY conta ";
}

$res = listar($conect,$sql);
?>
<table width=100% cellpading=0 cellspacing=0>
<?php

echo "<table border='1'>
<tr>
<th>Conta </th>
<th>Nome da Conta</th>
<th>Saldo Anterior</th>
<th>Debito do mes</th>
<th>Credito do mes</th>
<th>Saldo Atual</th>
</tr>";


$cont = 0;
// Exibe o resultado da nossa consulta
while ($row = mysql_fetch_array($res))
{ // Zebramos nossa linha da tabela onde pegamos o cont dividimos por 2
// se o resto for zero mostramos uma cor, se nãfor mostramos outra
if ($cont % 2 == 0)
{
$cor = "#f2f2f2";
}
else
{
$cor = "#ffffff";
}
echo "<tr bgcolor='".$cor."'>";
echo "<td>".$row['conta']."</td>";
echo "<td>".$row['nome']."</td>";
echo "<td>".$row['saldo_anterior']."</td>";
echo "<td>".$row['debito']."</td>";
echo "<td>".$row['credito']."</td>";
echo "<td>".$row['saldo_atual']."</td>";
echo "</tr>";
$cont = $cont + 1;
}
?>
</table>
</body>
</html>




  


14. Re: Mysql + PHP [RESOLVIDO]

Andre Cardoso
andrebian

(usa Fedora)

Enviado em 11/01/2012 - 21:00h

OLá, tenho duas dicas para esta situação:

1 - Alterar o tipo de dado no campo da tabela (no banco de dados) colocando por exemplo credito double (10,2) e alinhando o conteúdo à direita <th align='center'>

2 - Usar o php pra indicar substrings do valor gerado

Sintaxe: recebe-se um valor e calcula o tamanho da string gerada por ele, após isto realiza um switch onde se o tamanho for igual a 1 acrescenta-se um zero, uma virgula e mais um zero antes do mesmo ex: 0,05. Caso seja 2 o tamanho acrescenta somente um zero e uma virgula ex: 0,97. caso seja 3,4 ou 5 pega as duas ultimas posições e acresenta uma virgula na frente delas, com isso os demais valores fiacam antes da virgula ex: 97,35. Caso seja 6 ou mais acrescenta além de uma virgula antes das duas ultimas posições um ponto antes da sexta posicao ex: 6.123,00

Parece dificil? É bem simples de fazer, note abaixo:

// débito
$deb = "250";

// tamanho da string gerada por $deb, neste caso 3.
$lendeb = strlen($deb);


// o mesmo feito acima pode ser realizado com os demais
$cred = "12500";
$saldo = "65400";



// Aqui basta realizar os casos, sendo eles de 1 a 9... imagino, a nao ser que tenha gente com muita grana cadastrada no teu sistema.
switch ($lendeb){

case 3:

$mdeb = substr($deb,0,1).",".substr($deb,1,2);
break;


case 6:

$mdeb = substr($deb,0,1).".".substr($deb,1,3).",".substr($deb,4,2);
break;

}


// agora basta imprimir

// Dica: tente mudar o valor de $deb para 612309 por exemplo para verificar como ficará 6.123,09

echo " .... <th align='right'>$mdeb</th> ....";



Contudo aqui mostro um caso, como voce vai estar usando while vai ficar dar um pouco mais de trabalho, tem que realizar este algoritmo para todos os valores. Ou aceitar a dica 1.


Espero ter ajudado.



15. Re: Mysql + PHP [RESOLVIDO]

Geraldo Augusto de Oliveira Quites
geraldoquites

(usa Suse)

Enviado em 12/01/2012 - 08:54h

Andre, na minha tabela balancete, o campo chama-se "debito", portanto eu tenho que mover o resultado de "debito" para $deb... é isso mesmo? como faço isso?


16. Re: Mysql + PHP [RESOLVIDO]

Andre Cardoso
andrebian

(usa Fedora)

Enviado em 12/01/2012 - 18:18h

geraldoquites escreveu:

Andre, na minha tabela balancete, o campo chama-se "debito", portanto eu tenho que mover o resultado de "debito" para $deb... é isso mesmo? como faço isso?


Na verdade aqui apenas especifiquei um exemplo, esse $deb a que me refiro será o valor retornado da consulta sql, no seu caso fica +- assim
$deb = $row[debito];
$cred = $row[credito];
$saldo = $row[saldo];

qualquer coisa me add no msn, andre4497@hotmail.com





01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts