|
![]() |
||
[PHP] Como somar resultados obtidos em consulta no bd???
|
||
. Nós temos 754.102 usuários, convidamos você fazer parte de nossa comunidade também! Se ainda não encontrou o que procura use nossa pesquisa. Esperamos que aprecie nosso trabalho.
![]() |
|
|
Opções do Tópico |
|
|
#1 (permalink) |
|
Newbie
Registrado em: Apr 2005
Mensagens: 5
Reputação: 0
![]() |
Olá
Caros colegas, estou "me matando" pra resolver algo que creio ser muito simples, mas que já perdi mais de 6 hrs com diversas tentativas diferentes e nenhuma com resp. positiva do que estou querendo. Explicando... Fiz uma consulta SQL ao meu BD (em MySql) na tabela 'pontos' e nela possui os seguintes campos: id_pontos, login, data, qtde_pontos A consulta SQL esta assim: Código:
Ex: No Browser eu forneço o codigo para a pesquisa: http://blablabla.blablabla.com/pontos.php?id=1234 Usando WHILE: Código:
O PROBLEMA: Gostaria de SOMAR todos esses pontos encontrados em "qtde_pontos" em um variavel e imprimir pro usuario. (parte negrito foi editada p/ melhor entendimento) Essa parte nao estou conseguindo fazer, já tentei por dentro do WHILE mas ele informa somente o ultimo "qtde_pontos" encontrado na pesquisa. Tentei com vetor, tambem dentro do WHILE, mas acho que não devo ter feito direito ou não estou colocando no lugar correto... sei lá Se alguem puder me ajudar, ficaria mto grato. Desde já, agradeço, obrigado pela atenção. |
|
|
|
|
|
#2 (permalink) |
|
Super Participante
Registrado em: Mar 2002
Mensagens: 653
Reputação: 21
![]() |
Fred, vc pode obter esse resultado direto através da query SQL, mas se vc preferir fazer no php, simplesmente acrescente uma variável qualquer, por exemplo, $soma, dentro do seu laço while. Essa variável vai receber a soma dos valores obtidos nas linhas lidas.
no seu exemplo: Código:
[]! |
|
|
|
|
|
#3 (permalink) |
|
Super Participante
|
acho q entendi a tua ideia.. eh o seguinte.. soh vai dar certo, se cada vez q a pessoa se logar, ou sei lah.. fizer algo q aumente a pontuaçao, vc vai incrementar o campo da tabela campo correspondente a esse usuario, no caso.. qtde_pontos, creio eu.. segue o script pra incrementar esse campo..
<?php ... // conexao com banco ... $query = "SELECT qtde_pontos FROM pontos WHERE login='$id'"; // query q vai receber o valor atual do campo $r = mysql_query($query, $link) or die(mysql_error()); $valor = mysql_fetch_array($r, MYSQL_ASSOC); // o valor vai pro vetor $valor $valor_atual = $valor['qtde_pontos']; // so pra ficar claro q $valor_atual contem o valor ate aqui de pontos ... ... $valor_atual++; $query = "UPDATE pontos SET qtd_pontos='$valor_atual' WHERE login='$id'"; mysql_query($query, $link) or die(mysql_error()); // aqui ja ta atualizado o valor do campo, pra proximas buscas ... echo "O usuario ".$id." possui ".$valor_atual." pontos."; // mostra a quantidade de pontos ... mysql_close($link); // fecha conexao com banco ?>
__________________
Desktop (Frankenstein )Core2Duo E6300 - 1,83Ghz, @1Gb, 80Gb, GeForce 8400GS - WindowsXP SP3 - Ubuntu 8.10 NoteBook (Dell ) Core2Duo T6500 - 2,1Ghz, @3Gb, 320Gb - Debian 5 - FreeBSD 7.2
|
|
|
|
|
|
#4 (permalink) | |
|
Newbie
Registrado em: Apr 2005
Mensagens: 5
Reputação: 0
![]() |
Citação:
Ele imprime a resposta de $soma mas com valor 0 (zero) Vou por todos os codes... Código:
a resposta que visualizo no browser é: Ex: Codigo de usuario: 12345 Data:________Pontos: 01/02/2003___200 06/01/2005___100 10/12/2004___50 Total de pontos encontrados: 3 Total de pontos: 0 e não a resposta que desejo que seria 200+100+50 :/ |
|
|
|
|
|
|
#5 (permalink) | |
|
Newbie
Registrado em: Apr 2005
Mensagens: 5
Reputação: 0
![]() |
Citação:
![]() Nao irei alterar nada no BD Mesmo assim valeu! |
|
|
|
|
|
|
#6 (permalink) | |
|
Super Participante
|
.. meo, eu acho q soh vai existir um login com akele determinado id.. entao pra q tu tah usando esse while??..
Citação:
Código:
__________________
Desktop (Frankenstein )Core2Duo E6300 - 1,83Ghz, @1Gb, 80Gb, GeForce 8400GS - WindowsXP SP3 - Ubuntu 8.10 NoteBook (Dell ) Core2Duo T6500 - 2,1Ghz, @3Gb, 320Gb - Debian 5 - FreeBSD 7.2
|
|
|
|
|
|
|
#7 (permalink) | ||
|
Newbie
Registrado em: Apr 2005
Mensagens: 5
Reputação: 0
![]() |
Citação:
o while serve pra isso, pra procurar em toda a tabela os pontos do mesmo usuario! depois de fazer a busca por todos os pontos daquele usuario, eu quero que ele some o total de pontos e imprima. Só isso, simples, mas ta complicado.. rs |
||
|
|
|
|
|
#8 (permalink) |
|
Super Participante
|
.. a vei, agora tah claro... essa funçao SUM() vai fazer isso.. basta acrescentar ql usuario deseja.. vai ficar assim
Código:
Código:
__________________
Desktop (Frankenstein )Core2Duo E6300 - 1,83Ghz, @1Gb, 80Gb, GeForce 8400GS - WindowsXP SP3 - Ubuntu 8.10 NoteBook (Dell ) Core2Duo T6500 - 2,1Ghz, @3Gb, 320Gb - Debian 5 - FreeBSD 7.2
|
|
|
|
|
|
#9 (permalink) |
|
Newbie
Registrado em: Apr 2005
Mensagens: 5
Reputação: 0
![]() |
um amigo meu conseguiu me ajudar
eu tinha que colocar isto: Código:
abraços |
|
|
|
![]() |
| Opções do Tópico | |
|
|