PHP - Erro em somar Coluna MySql
Caros amigos.
Estou com um problema que a princípio não consigo resolver.
Preciso fazer a seguinte soma:
Fornecedor XYZ tem os seguintes produtos:
- produto A custa R$ 3,00 X 10uni = 300,00
- produto B custa R$ 1,00 X 10uni = 100,00
- produto C custa R$ 0,50 X 10uni = 50,00
preciso somar o resultado( 300 + 100 + 50 = 450)
Fornecedor ABC tem os seguintes produtos:
- produto A custa R$ 1,00 X 10uni = 100,00
- produto B custa R$ 2,00 X 10uni = 200,00
- produto C custa R$ 1,00 X 10uni = 100,00
preciso somar o resultado( 100 + 200 + 100 = 400)
Consigo fazer a multiplicação de linha a linha, só não consigo fazer a soma dos resultados.
Quando mostro na tabela, mosto apenas o resultado, ficando assim:
Fornecedor XYZ = 450,00
Fornecedor ABC = 400,00
Usei o GROUP BY na tabela para agrupar todos os registro do mesmo Fornecedor.
Abaixo o código que estou usando:
<!-- Main content -->
<section class="content">
<!-- Small boxes (Stat box) -->
<div class="row">
<?php
//Variável Passada da Página Anterior
$cotaNumeroGet = isset($_GET['cotaNumero']) ? $_GET['cotaNumero'] : false;
$cotaNumero = isset($_POST['cotaNumero']) ? $_POST['cotaNumero'] : $cotaNumeroGet;
$cotaStatus = '2';
//Faço a pesquisa através do código ID
$sql_pegaProd = 'SELECT * FROM cotacao WHERE cotaNumero = :cotaNumero AND cotaStatus = :cotaStatus';
try{
$query_pegaProd = $conecta->prepare($sql_pegaProd);
$query_pegaProd->bindValue(':cotaNumero',$cotaNumero,PDO::PARAM_STR);
$query_pegaProd->bindValue(':cotaStatus',$cotaStatus,PDO::PARAM_STR);
$query_pegaProd->execute();
$resultado_pegaProd = $query_pegaProd->fetchAll(PDO::FETCH_ASSOC);
}catch(PDOexception $error_pegaProd){
echo 'Erro ao pegar o Produto'.$error_pegaProd->getMessage();
}
//Capturo os dados que desejo
foreach($resultado_pegaProd as $resProd){
$cotaId = $resProd['cotaId'];
$cotaNumero = $resProd['cotaNumero'];
$edCotaDtInicio = $resProd['cotaDtInicio'];
$edCotaHrsInicio = $resProd['cotaHrsInicio'];
$edCotaDtFim = $resProd['cotaDtFim'];
$edCotaHrsFim = $resProd['cotaHrsFim'];
$edCotaTitulo = $resProd['cotaTitulo'];
}
?>
<div class="box box-primary">
<div class="box-header"><h3 class="box-title">Resumo da cotação</h3></div>
<div class="table-responsive">
<table class="table no-margin">
<thead>
<tr>
<th>Razão Social</th>
<th>Valor Compra</th>
<th>Fat. Mínimo</th>
<th>Vr Restante</th>
</tr>
</thead>
<?php
$sql_pegaAtivos = "SELECT cl.clienteId, cl.razaoSocial, cl.faturaMinimo,
cr.cotaRespId, cr.cotaRespQtde, cr.cotaRespVlrUnit, cr.codProdClie,
cr.apres_unid, cr.clientes_clienteId, cr.cotaRespStatus,
cr.cotacaoItens_cotaItensId, cr.cotaNumero, cr.cotaRespCompra
FROM cotacaoResposta cr
INNER JOIN clientes AS cl ON cl.clienteId = cr.clientes_clienteId
WHERE cr.cotaNumero = :cotaNumero
AND cr.cotaRespCompra = '1'
GROUP BY cr.clientes_clienteId ";
try{
$query_pegaAtivos = $conecta->prepare($sql_pegaAtivos);
$query_pegaAtivos->bindValue(':cotaNumero',$cotaNumero,PDO::PARAM_STR);
$query_pegaAtivos->execute();
$resultado_pegaAtivos = $query_pegaAtivos->fetchAll(PDO::FETCH_ASSOC);
$count_pegaAtivos = $query_pegaAtivos->rowCount(PDO::FETCH_ASSOC);
}catch(PDOexception $error_pegaAtivos){
echo 'Erro ao pegar ativos';
}
foreach($resultado_pegaAtivos as $resAtivos){
$cotaRespId = $resAtivos['cotaRespId'];
$cotaRespQtde = $resAtivos['cotaRespQtde'];
$cotaRespVlrUnit = $resAtivos['cotaRespVlrUnit'];
$cotaRespStatus = $resAtivos['cotaRespStatus'];
$cotaRespCompra = $resAtivos['cotaRespCompra'];
$cotaNumero = $resAtivos['cotaNumero'];
$codProdClie = $resAtivos['codProdClie'];
$apres_unid = $resAtivos['apres_unid'];
$clientes_clienteId = $resAtivos['clientes_clienteId'];
$razaoSocial = $resAtivos['razaoSocial'];
$faturaMinimo = $resAtivos['faturaMinimo'];
?>
<?php
//Cálculo para Multiplicar e Somar o Total Geral dos Itens Cotados
$fornecedor = "$clientes_clienteId";
$vrFinal = '0';//Variável recebe a Soma Total
$fatMin = floatval(str_replace(",",".",$faturaMinimo));
$sql = "SELECT cotaRespQtde, cotaRespVlrUnit FROM cotacaoResposta
WHERE clientes_clienteId = '$fornecedor'
AND codProdClie = $codProdClie
AND cotaNumero = '$cotaNumero' ";
$result = $sqli->query($sql); //Executa a consulta
while($row = $result->fetch_assoc()){
$qtde = number_format($row['cotaRespQtde']);
$valor = floatval(str_replace(",",".",$row['cotaRespVlrUnit']));
$total = $qtde * $valor;
}
$vrFinal = $total - $fatMin;
?>
<tbody>
<tr>
<td align="left" width="200" height="10"><?php echo $clientes_clienteId.' - '.$razaoSocial;?></td>
<td align="left" width="20" height="10"><?php echo number_format($total,2,",",".");?></td>
<td align="left" width="20" height="10"><?php echo $faturaMinimo; ?></td>
<td align="left" width="20" height="10"><?php echo number_format($vrFinal, 2, ",", "."); ?></td>
</tr>
</tbody>
<?php } ?><!-- 1º /.Foreach -->
</table>
</div>
<div style="text-align: right;">
<br/>
<input class="btn btn-danger" type="submit" name="voltar" id="voltar" value="Voltar"
onclick="frm_analisar.action='painel.php?exe=admin-cliente/cotacao/cotacao_lista';
frm_analisar.submit()" title="Voltar a Lista de Cotação." />
</div>
<br/>
</div><!-- / 1ª. box primary -->
</div><!-- fim da row -->
</section>
Grato,
RenatoDiscussão (1)
Carregando comentários...