Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá amigos, sou novato no PDO e estou quebrando cabeça para fazer uma consulta e somar os valores da coluna da tabela de itens com um parametro predefinido ('id' e 'pedido_min') onde id é o id do produto e pedido_min está no bd mysql como (ENUM) Y ou N, onde Y quer dizer que esse produto não entra na soma do pedido minimo da compra e N entra na soma do pedido minimo. Estou fazendo isso para que produtos como exemplo de cigarros não entrem na conta do pedido minimo.
Tenho um FOREACH que lista os produtos que estao na SESSION php, dentro ou fora desse FOREACH eu preciso somar os produtos que possuem o parametro Y na coluna 'pedido_min' do bd, para diminuir da soma total do carrinho de compras e checar se o cliente atingiu o valor minimo de compra (15,00), caso tenha atingido o valor minimo entao libera o botao para fechar o pedido.
meu código está abaixo:
<div class="card-body">
<?php
//buscando no bd o valor do pedido minimo
$config = app('db')->select("SELECT as_configura.* FROM as_configura");
$config = $config[0];
//montando cart dos produtos sa session
$cart_box = '<ul class="cart-products-loaded">';
$total = 0;
$total_acresc = 0;
foreach ($_SESSION["products"] as $product) :
$product_name = $product["product_name"];
$product_price = $product["product_price"];
$product_acresc = $product["product_acresc"];
$id = $product["id"];
$product_qty = $product["product_qty"];
//somando o subtotal de cada item do carrinho
$subtotal = ($product_price * $product_qty);
//total de todos o s itens
$total = ($total + $subtotal);
// checa se tem itens que nao entram na soma do pedido minimo
$result = app('db')->select("SELECT as_produtos.preco FROM as_produtos WHERE id = $id AND as_produtos.pedido_min = 'Y'");
//soma o valor total dos itens que nao entram na soma do pedido minimo
$total_cigarro = app('db')->query("SELECT SUM(preco) AS total FROM as_produtos WHERE pedido_min = 'Y' AND id = $id ")->fetchColumn();
$checaCigarro = $total - $total_cigarro;
//checa de atingiu o pedido minimo
if ($total < $config['ped_minimo']) {
echo "O pedido mínimo é de R$ ".$config['ped_minimo'].",00";
//se tem itens que nao entram na soma do pedido minimo e soma
} else if (count($result) >= 1) {
if ($checaCigarro < $config['ped_minimo']) {
echo "Cigarros não entram na soma de R$ ".$config['ped_minimo'].",00 do pedido mínimo.";
}
?>
<!-- PRODUCT -->
AQUI ENTRAM AS INFORMACOES DE CADA ITEM
<!-- END PRODUCT -->
<?php endforeach; ?>Carregando comentários...