Jump to content
Fórum Script Brasil
  • 0

Somar valores


MTavares

Question

Olá colegas,

estou com uma dúvida do qual não estou conseguindo resolver. Eu tenho um formulário que pega os valores da seguinte forma:

Formulário:

<input type="text" name="IdadeClientes[]" />
Só que quero dividir os clientes que são maiores de 18 e os menores de 18. Até aqui tudo OK, mas esbarrei no seguinte caso. Quero somar quantos clientes são menores de 18 anos, só que não estou conseguindo. Alguém poderia me dar uma força? O código que estou usando está abaixo:
if($_POST): // Estou usando dessa forma, pois tenho outros campos além do IdadeClientes
    
       for($i = 0; $i < count($_POST['IdadeClientes']); $i++):
                            
            if($_POST['IdadeClientes'] <= 18):
              
                            $qtdCliente = "?"; // Aqui que empaquei..rsrsrsrsrs.. quero somar quantos clientes são menores de 18 anos
         
            endif;

      endfor;
endif;

Abraços

Edited by MTavares
Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0

beleza ESerra...

na verdade os valores consigo pegar, o que não estou conseguindo é somar qtos clientes são menores de 18 anos.... Por ex: vamos imaginar o seguinte cenário: o cliente acessa o sistema e cadastra as pessoas (1 adulto e 3 filhos) sendo que esses filhos dois são menores de 18 anos e um é maior de 18 anos. É exatamente aí que parei... quero mostrar que dos três filhos, 02 são menores de 18 anos e 01 maior que 18 anos. Ficando assim:

Quantidade de filhos menores de 18 anos: 02

abraços

Link to comment
Share on other sites

  • 0

Tentei colocar dessa forma:

$somarMenor = array($_POST['IdadeClientes']);

$totalmenor = array_sum($somarMenor);

Porém ele me retorna da seguinte forma:

(Levando em consideração que tem 1 maior que 18 anos e 2 menores de 18 anos)

Maior que 18 = 9

Menor que 18 = 1

Menor que 18 = 2

De onde saiu esse 9 se só houve 3 registros kkkkkkkkkkkkkkkkkkkkkkkkkkkk

abraços

Edited by MTavares
Link to comment
Share on other sites

  • 0

Eu joguei os valores no campo e tentei fazer esse cálculo direto da query veja:

SELECT COUNT(Idade < 4) AS IdadeMenor, COUNT(Idade > 5) AS IdadeMaior FROM tabela;

Só que retornou o seguinte:

+------------+------------+
| IdadeMenor | IdadeMaior |
+------------+------------+
|          4 |          4 |
+------------+------------+
Sendo que os valores verdadeiros são:
+-------+
| Idade |
+-------+
| 48     |
| 19     |
| 12     |
| 12     |
+-------+
Observe que tem 2 maior que 18 e 2 menores de 18 (a idade 48 é do pai). Corrigindo... Coloquei da seguinte forma:
SELECT SUM(Idade < 4), SUM(Idade > 5 AND Idade < 18) FROM tabelas;
e retornou:
+----------------+-------------------------------+
| SUM(Idade < 4) | SUM(Idade > 5 AND Idade < 18) |
+----------------+-------------------------------+
|              2 |                             1 |
+----------------+-------------------------------+

Parece que funcionou.... farei novos testes e qualquer coisa volto aqui...

abraços

Edited by MTavares
Link to comment
Share on other sites

  • 0

Olá novamente :lol:

eu estou quase lá... usei a seguinte query:

SELECT SUM(Idade <= 18) AS IdadeMenor, SUM(Idade > 18 AND Idade < 25) AS IdadeMaior FROM tabelas;

O único problema é que ele me retorna somente a primeira linha, só que eu quero pecorrer a tabela para fazer essa verificação.

Alguém teria uma solução para isso? ^_^

Obrigado...

Link to comment
Share on other sites

  • 0
beleza ESerra...

na verdade os valores consigo pegar, o que não estou conseguindo é somar qtos clientes são menores de 18 anos.... Por ex: vamos imaginar o seguinte cenário: o cliente acessa o sistema e cadastra as pessoas (1 adulto e 3 filhos) sendo que esses filhos dois são menores de 18 anos e um é maior de 18 anos. É exatamente aí que parei... quero mostrar que dos três filhos, 02 são menores de 18 anos e 01 maior que 18 anos. Ficando assim:

Quantidade de filhos menores de 18 anos: 02

abraços

$maiores = 0;
$menores = 0;
foreach($_POST['IdadeClientes'] as $idade){
if($idade <= '18'){
$menores++;
}else{
maiores++;
}
}

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...