Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
ae Galera.
O Caso :
Preciso somar os valores acumulados por dia, em um Extrato Mensal.
Beleza, consigo fazer o script,:
set @TOT = (SELECT Sum(Saldo) From extratobanco order by DataRec DESC) ;
set @TAC = (SELECT Sum(Saldo) From extratobanco order by DataRec ASC) ;
select Conta, Docto,Parcela,RazaoNome,DataRec,Debito,Credito,Saldo, @TOT:=@TOT+Saldo,@TOT-@TAC
from extratobanco Order by DataRec
Resultado:
Conta Contrato Nome Data Receb Debito Credito Saldo Saldo
xyxy-z 21-1 xxxxx 2013-10-15 0,00 325,00 325,00 325,00
xyxy-z 23-1 xxxxx 2013-10-16 100.00 0.00 100,00 225,00
xyxy-z 23-4 xxxxx 2013-10-16 0.00 320.00 0,00 555.00
Ate ai Tudo bem.
Mas, eu quero salvar esse SCRIPT em uma VIEW em um BD (Mysql).
Alguem teria, uma ideia de como fazer via CREATE VIEW DO MYSQL. pois no create view, nao esta
aceitando os Parametros @TOT. pois envolve uma sub-query. SUM(Soma).
Como viram, via codigo esta resolvido (para quem precisar) mas eu quero que este SCRIPT vire uma CONSULTA no BD
Quem puder colaborar, agradeço.
Saude e Paz, o Resto Corremos Atras.
Galera para quem precisar, Extrato com FILTRO por contas, podendo sre adaptados a varias situaçoes.
<?php
$conexao = mysql_connect("localhost", "celido", "senha");
mysql_select_db("world",$conexao);
?>
<form method="post" action="<?php $_SERVER['PHP_SELF']; ?>">
Conta Corrente: <select name="Conta">
<option>--- Escolha a Conta ---</option>
<?php
$query = "SELECT ContaCorrente FROM contascorrentes";
$res = mysql_query($query);
while ($coluna = mysql_fetch_array($res)){
#imprimindo as categorias em um option
echo "<option value = ".$coluna['ContaCorrente']."></option>";
}
?>
</select>
<input type="submit" value="ok"><br><br>
<?php
$con = mysqli_connect('localhost','celido','cdf1960','world');
if (!$con) {
die('Could not connect: ' . mysqli_error($con));
}
mysqli_select_db($con,"world");
$sql="SELECT * FROM extratobanco WHERE Conta LIKE '%$_POST[Conta]%'";
$result = mysqli_query($con,$sql);
echo "<table border='1'>
<tr>
<th>Data</th>
<th>Documento</th>
<th>Razao Social</th>
<th>Débito... R$</th>
<th>Crédito.. R$</th>
<th>Saldo.... R$</th>
<th>Acumulado R$</th>
<th>Conta Corrente R$</th>
</tr>";
$TOT = 0;
while($rows= mysqli_fetch_array($result)) {
$TOT += $rows['Saldo'];
$TTD = $rows['Debito'];
$TOD += $rows['Debito'];
$TOC += $rows['Credito'];
$DataRec = $rows['DataRec'];
$Docto= $rows['Docto'];
$Conta= $rows['Conta'];
$RazaoNome = $rows['RazaoNome'];
$Debito = $rows['Debito'];
$Credito = $rows['Credito'];
$Saldo = $rows['Saldo'];
echo "<tr>";
echo "<td><center>" . $rows['DataRec'] . "</td>";
echo "<td><center> ". $rows['Docto'] . "-". $rows['Parcela'] ."</td>";
echo "<td>" . $rows['RazaoNome'] . "</td>";
echo "<TD ALIGN=right>". number_format($Debito, 2, ',', '.')."</td>"; // retorna R$100.000,50
echo "<TD ALIGN=right>". number_format($Credito, 2, ',', '.')."</td>"; // retorna R$100.000,50
echo "<TD ALIGN=right>". number_format($Saldo, 2, ',', '.')."</td>"; // retorna R$100.000,50
echo "<TD ALIGN=right>". number_format($TOT, 2, ',', '.')."</td>"; // retorna R$100.000,50
echo "<td><center>" . $rows['Conta'] . "</td>";
echo "</tr>";
}
echo "</table>";
echo "<br>";
echo "Debitos R$.......";
echo "<TD ALIGN=right>". number_format($TOD, 2, ',', '.')."</td>"; // retorna R$100.000,50
echo "<br>";
echo "Créditos R$......";
echo "<TD ALIGN=right>". number_format($TOC, 2, ',', '.')."</td>";
echo "<br>";
echo "Saldo R$...........";
echo "<b><TD ALIGN=right>". number_format($TOT, 2, ',', '.')."</td>";
mysqli_close($con);
?>
Valeu!!!!!!
Galera
Vejam o POST neste FORUM
COLUNA DE ACUMULO EM MYSQL VIA VIEW - Célido.Tem uma soluçao usando integraçao de tabelas.
Podem escolher Esta soluçao em PHP ou direto no MYSQL.
Valeu!!!!!
Dae Galera,
Via Createview nao da. entao, segue o codigo em PHP, para quem quiser usar.
mas ainda estou estudando via ROLLUP. que da o total, mas em forma de extrato assim vai.
while ($rows = mysql_fetch_array($query)) { Isto evita aquela CARAIDA de subquery,.Esta solução pode ser adaptada tambem para Cash Flow, etc....
Saude e paz. O Resto Corremos atras.