Função SUM() do SQL no PDO
29/10/2012
0
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
Post mais votado
16/03/2013
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
Mais Posts
29/10/2012
Felipe Ribeiro
Agora funcionou.
Não me perguntem pq, só funcionou...
Podem fechar o tópico.
Obrigado
30/10/2012
Eduardo Oliveira
30/10/2012
Tiago
16/03/2013
Chinnon Santos
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;
}
}
27/07/2013
José
Clique aqui para fazer login e interagir na Comunidade :)