Função SUM() do SQL no PDO

29/10/2012

0

PHP

Boa tarde, estou tendo um problema na minha aplicação.

Sempre que tento executar uma consulta no BD, usando PDO, que contenha no meio da instrução SQL a função "SUM()" seguida de um apelido da erro. Quando eu tiro o apelido funciona numa boa..

Alguém aí já viu isso ?

Desde já, brigado!
Felipe Ribeiro

Felipe Ribeiro

Responder

Post mais votado

16/03/2013

Para os que estão querendo o código e o rapaz ai não mostrou...
Vou posta em dois formatos o mais simples e o que eu usei em minha aplicação...

function prodOnCartSum(){ // Conta a quantidade total de produtos, sempre proteção, sem parametros... [SIMPLE]
$pdo = $this->pdo;
try {
$stmte = $pdo->query("SELECT SUM(CR_QUANT) FROM CARRINHO");
$count = $stmte->fetchColumn();
return $count;
}catch(PDOException $e){
setcookie("ErroPDO","Falha no Calculo de Produtos no carrinho - ".$e->getMessage());
return false;
}
}

function prodOnCartSum($idPed){ // Soma o valor dos Produtos no Carrinho, com uso de JOIN, Proteção contra Injection, com parametro... [Mais Complexa...]
$pdo = $this->pdo;
try {
$stmte = $pdo->prepare("SELECT SUM(PR_VALOR) FROM CARRINHO, PRODUTOS WHERE CR_PED_ID = ? AND CR_PROD_ID = PR_ID");
$stmte->bindParam(1, $idPed , PDO::PARAM_INT);
$stmte->execute();
$count = $stmte->fetchColumn();
return $count;
}catch(PDOException $e){
setcookie("ErroPDO","Falha no Calculo de Produtos no carrinho - ".$e->getMessage());
return false;
}
}

// Resultado usando var_dump()...
// string(5) "870.5"

Na forma mais complexa, estou pegando o 'Total' dos preços de todos os produtos que estão no carrinho referente a um Pedido 'x', Minha aplicação separa define os valores dos produtos na tabela PRODUTOS, e define os produtos do Pedido na tabela CARRINHO, então para que eu possa saber qual o valor total do pedido sem precisar criar um codigo PHP, eu faço um JOIN das duas tabelas e uso a função SUM no PDO. Não tem muito segredo, para quem esta iniciando e melhor esquecer a forma mais complexa e praticar na primeira... As duas estão em Paradigmas de Orientação a Objetos, Boa sorte com os códigos...

Chinnon Santos

Chinnon Santos
Responder

Mais Posts

29/10/2012

Eduardo Oliveira

Posta o code pra facilitar o auxilio.
Responder

29/10/2012

Felipe Ribeiro

RESOLVIDO !

Agora funcionou.

Não me perguntem pq, só funcionou...

Podem fechar o tópico.

Obrigado
Responder

29/10/2012

Marcio Araujo

post o codigo para verificar...
Responder

30/10/2012

Eduardo Oliveira

Seria legal se voce mostrasse a solução para que sirva de exemplos a outros usuário que possam vir a passar pelo mesmo problema. Muito Grato.
Responder

30/10/2012

Tiago

Que bom Felipe que funcionou, você poderia nos mostrar a codificação para podermos estudar o evento?
Responder

16/03/2013

Chinnon Santos

Para os que estão querendo o código e o rapaz ai não mostrou...
Vou posta em dois formatos o mais simples e o que eu usei em minha aplicação...

function prodOnCartSum($idPed){ // Soma o valor dos Produtos no Carrinho
$pdo = $this->pdo;
try {
$stmte = $pdo->query("SELECT SUM(CR_QUANT) FROM CARRINHO"); // Conta a quantidade total de produtos
$count = $stmte->fetchColumn();
return $count;
}catch(PDOException $e){
setcookie("ErroPDO","Falha no Calculo de Produtos no carrinho - ".$e->getMessage());
return false;
}
}
Responder

27/07/2013

José

Olá pessoal, já que a duvida inicial foi solucionada estou finalizando este tópico.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar