Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Somar os Valores

Gostaria de saber como Somar todos os valores do campo "Preço" e retornar ele no HTML. Consegui montar a query, porém não sei como fazer a função nem exibir ela no html da pagina

<?php 
    include("cabecalho.php");
    include("banco-produto.php");
    ?>





    <table class="table table-stripped table-bordered">

        <?php
            $produtos = listaProdutos($conexao);
            foreach($produtos as $produto) :
        ?>

        <tr>

            <td><?= $produto['nome'] ?></td>
            <td><?= $produto['servico']?></td>
            <td><?= 'R$ ' .$produto['preco']?></td>
            <td><?= $produto['vencimento']?></td>
            <td><a href="remove-servico.php?id=<?=$produto['id']?>" class="btn btn-danger">Remover</a></td>
        </tr>
        <?php
            endforeach
        ?>
    </table>


2 respostas
solução!

Oi Everson, tudo bom?

Se você já montou a query, podemos jogar ela em alguma função dentro do arquivo banco-produto.php, já que se trata de dados relacionados ao produto. Algo como:

// banco-produto.php
public function somaDeTodosOsValores($conexao)
{
    $query = "seu select do valor";
    $resultado = mysqli_query($conexao, $query);
    // aqui, podemos usar a função fetch_row que traz apenas o primeiro resultado da consulta, já que o resultado será apenas o numero da soma dos valores
    $row = $resultado->fetch_row();
    // na primeira posição sempre estará o resultado unitario
    return $row[0];
}

Com isso, basta chamar essa função na view. Algo como:

<?php 
    include("cabecalho.php");
    include("banco-produto.php");
    ?>




    <p>Soma total: <?= somaDeTodosOsValores($conexao) ?></p>    

    <table class="table table-stripped table-bordered">

        <?php
            $produtos = listaProdutos($conexao);
            foreach($produtos as $produto) :
        ?>

        <tr>

            <td><?= $produto['nome'] ?></td>
            <td><?= $produto['servico']?></td>
            <td><?= 'R$ ' .$produto['preco']?></td>
            <td><?= $produto['vencimento']?></td>
            <td><a href="remove-servico.php?id=<?=$produto['id']?>" class="btn btn-danger">Remover</a></td>
        </tr>
        <?php
            endforeach
        ?>
    </table>

Existem outras formas de buscar o resultado do banco, além do fetch_row e muitas vezes depende da query também. Se você quiser, compartilha sua query aqui com a gente, assim fica mais facil indicar o método mais facil =)

Abraço

Obrigado pela resposta André! Estou usando a seguinte query:

$query = "SELECT SUM(preco) FROM produtos";