Percentage PHP and Mysql

Asked

Viewed 1,586 times

0

I have a Mysql table where product type is stored. I would like to see the percentage of each product registered in the table. I did so:

// Verifico o total de produtos cadastrados
$sqlTotal = mysqli_query($conexao,"SELECT * FROM produtos");
$totalProdutos = mysqli_num_rows($sqlTotal);

// Verifico o total do tipo de produtos
$sqlTipo = mysqli_query($conexao,"SELECT * FROM produtos WHERE TipoProduto = 'Arroz'");
$totalTipo = mysqli_num_rows($sqlTipo);

// Faço o cálculo
$porcentagem = ($totalProdutos * 100) / $totalTipo;

The correct form is:

$porcentagem = ($totalTipo * 100) / $totalProdutos;

I’m a little insecure about that code.

2 answers

4


The formula is correct yes. I particularly like multiplication after division:

( totalCategoria / totalProdutos ) * 100

It is possible to do what you want with just a summary query to the bank:

SELECT tipoProduto, count(tipoProduto), 
( count(tipoProduto) / (SELECT count(tipoProduto) FROM produtos) ) * 100 as percentual
FROM produtos
GROUP BY tipoProduto;

So you have the percentage of all categories at once.

Here is an example from sqlfiddle.

If you need to, you can further detail your query:

SELECT tipoProduto, count(tipoProduto) as totalCategoria,
(SELECT count(tipoProduto) FROM produtos) as totalProdutos, 
( count(tipoProduto) / (SELECT count(tipoProduto) FROM produtos) ) * 100 as percentual
FROM produtos
GROUP BY tipoProduto;

0

You better make a Count(id_produto) as Total in your QUERY.

$sqlTipo = mysqli_query($conexao,"SELECT count(id_produto) as Total FROM produtos WHERE TipoProduto = 'Arroz'");
$totalTipo = mysqli_result($sqlTipo, 0, 'Total');
  • Right Diego. Actually I needed the rule of three. I found it. To calculate just do it that way I edited.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.