Jump to content

gabrielslessa

Members
  • Content count

    7
  • Joined

  • Last visited

Community Reputation

0 Comum

About gabrielslessa

  1. gabrielslessa

    Select carregando conteudo na div com Ajax e php

    O erro estava na pagina php, retirei o esquema de função e funcionou... segue o código: <?php include "conf.php"; if(isset($_POST['idCat']) && is_numeric($_POST['idCat']) && $_POST['idCat'] == "cat") : $retorno = "" ; $cat_id = $_POST['idCat']; $result = app('db')->select( 'SELECT * FROM `tabela` WHERE `coluna` = :id', array('id' => $cat_id) ); if (count($result) > 0) : foreach ($result as $produtos) : $retorno .= "<div>nome: ".$produtos['nome'] ."</div><br />"; $retorno .= "<div>R$ ".$produtos['preco'] ."</div>"; endforeach; echo $retorno; else : $retorno = "<div align'center' class='grey-text text-center' style='margin-top: 50px'>".trans('sem_produtos')."</div>"; echo $retorno; endif; else : $retorno = "<div align'center' class='alert alert-danger text-center' role='alert' style='margin-top: 50px'>".trans('erro_listar')."</div>"; echo $retorno; endif;
  2. Olá amigos, blz?! Estou com um problema, eu não estou conseguindo carregar o resultado de uma consulta sql na div da pagina. Tenho um select com as categorias dos produtos, esse select tem que listar todos os produtos pertencentes a tal categoria. Estou tentando fazer via Ajax passando o id da categoria para outra pagina php e recebendo o resultado para listar os produtos. No meu código está retornado nada na div e sem o conteúdo requisitado. ...pagina html <label><?= trans('categoria') ?></label> <select id="cat" name="cat" class="form-control"> <?php foreach ($c as $categorias) : ?> <option value="<?= $categorias['cat_id'] ?>"> <?= $categorias['nome'] ?> </option> <?php endforeach; ?> </select> <div id="resultado"></div> $(document).ready(function(){ $(document).on('change', 'select', function(){ var id_cat = $(this).val(); $.ajax({ type: 'POST', url: "pagina.php", data: {idCat : id_cat }, cache: false, dataType : 'html', success: function(retorno) { $('#resultado').html(retorno); }, }) }); }); <?php include "dfdfgdgd.php"; class ASList { private $db = null; public $errors = array(); public $messages = array(); public function __construct() { if(isset($_POST['idCat'])) { $this->list_prod(); } } ///////////funcao /////////////// private function list_prod() { $retorno = ""; $cat_id = $_POST['idCat']; $result = app('db')->select( 'SELECT * FROM `produtos` WHERE `categoria` = :id', array('id' => $cat_id) ); foreach ($result as $produtos) : $retorno .= "<div>nome: ".$produtos['nome'] ."</div><br />"; $retorno .= "<div>R$ ".$produtos['preco'] ."</div>"; endforeach; echo $retorno; } }
  3. gabrielslessa

    Gravar dados da Sessão php no banco de dados mysql com conexão PDO

    Valeu amigo, show de bola, o código ficou assim: $ped_id = $this->db->lastInsertId(); foreach($_SESSION["products"] as $product) : //gravando no bd pela funcao $this->db->insert('as_ped_itens', array( "id_prod" => $product['id'], "qtd" => $product['product_qty'], "nome_prod" => $product["product_name"], "valor" => $product["product_price"], "acresc_prod" => $product["product_acresc"], "id_ped" => $ped_id )); endforeach;
  4. Olá amigos, estou com uma dúvida, não estou conseguindo gravar os dados contidos numa sessão no bd mysql com conexão PDO. Tenho uma sessão onde estão todos os produtos do carrinho de compras em php, como faço para gravar esses itens separadamente no bd? Obrigado desde já! código onde está gravando no bd (primeiro grava os dados do post e depois grava os dados da sessao: //gravando no bd $this->db->insert('as_pedidos', array( "user_id" => $userId, "ped_rua" => $ped_rua, "ped_numero" => $ped_numero, "ped_cep" => $ped_cep, "ped_bairro" => $ped_bairro, "ped_vtotal" => $ped_vtotal, "ped_frete" => $ped_frete, "ped_distance" => $ped_distance, "ped_forma_pg" => $forma_pagProtect, "ped_comentario" => obsProtect, "ped_vtroco" => $trocoProtect, "ped_acresc_cred" => $acresc_credProtect, "ped_op_cred" => $opProtect, "ped_hora" => date('Y-m-d H:i:s') )); $ped_id = $this->db->lastInsertId(); foreach($_SESSION["products"] as $dado => $value) : NÃO ESTOU CONSEGUINDO A PARTIR DAQUI.... //gravando no bd $this->db->insert('as_ped_itens', array( "id_prod" => $product['id'], "qtd" => $product['product_qty'], "nome_prod" => $product['nome'], "valor" => $product['preco'], "id_ped" => $ped_id )); endforeach; Código onde grava os dados na sessão ($_SESSION["products"]): setlocale(LC_MONETARY,"pt_BR"); # add products in cart if(isset($_POST["id"])) { foreach($_POST as $key => $value) : $product[$key] = filter_var($value, FILTER_SANITIZE_STRING); endforeach; $id = preg_replace( '/[^0-9]/is', '', $product['id'] ); $product_qty = preg_replace( '/[^0-9]/is', '', $_POST["product_qty"] ); $statement = app('db')->prepare("SELECT as_produtos.nome, as_produtos.preco, as_produtos.acresc FROM as_produtos WHERE id = :id LIMIT 1"); $statement->bindParam(':id', $id, PDO::PARAM_INT); $statement->execute(); foreach($statement as $dados_produto) : $product["product_name"] = $dados_produto["nome"]; $product["product_price"] = $dados_produto["preco"]; $product["product_acresc"] = $dados_produto["acresc"]; if(isset($product["product_name"])){ if(isset($_SESSION["products"][$id])) { $_SESSION["products"][$id]["product_qty"] = $_SESSION["products"][$id]["product_qty"] + $_POST["product_qty"]; } else { $_SESSION["products"][$id] = $product; } } else { $_SESSION["products"][$id] = $product; } endforeach; //exibindo o total de itens $total_product = array_sum(array_column($_SESSION['products'], 'product_qty')); //exibindo o total de produtos //$total_product = count($_SESSION["products"]); die(json_encode(array('products'=>$total_product))); }
  5. gabrielslessa

    Soma PDO dentro do foreach php

    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; ?>
  6. gabrielslessa

    Erro com bind_param() com conexão PDO mysql

    Obrigado pela ajuda amigo, resolvi o problema com sua explicação e ajustando as linhas abaixo, muito obrigado. o codigo (carrinho de compras): setlocale(LC_MONETARY,"pt_BR"); # add products in cart if(isset($_POST["id"])) { foreach($_POST as $key => $value) : $product[$key] = filter_var($value, FILTER_SANITIZE_STRING); endforeach; $statement = app('db')->prepare("SELECT as_produtos.nome, as_produtos.preco FROM as_produtos WHERE id = :id LIMIT 1"); $statement->bindParam(':id', $product['id'], PDO::PARAM_INT); $statement->execute(); foreach($statement as $dados_produto) : $product["product_name"] = $dados_produto["nome"]; $product["product_price"] = $dados_produto["preco"]; if(isset($product["product_name"])){ if(isset($_SESSION["products"][$product['id']])) { $_SESSION["products"][$product['id']]["product_qty"] = $_SESSION["products"][$product['id']]["product_qty"] + $_POST["product_qty"]; } else { $_SESSION["products"][$product['id']] = $product; } } else { $_SESSION["products"][$product['id']] = $product; } endforeach; $total_product = count($_SESSION["products"]); die(json_encode(array('products'=>$total_product))); }
  7. gabrielslessa

    Erro com bind_param() com conexão PDO mysql

    Ola amigos, se alguém puder me ajudar no erro no script eu agradeço muito, o erro é o seguinte: Fatal error: Call to undefined method PDOStatement::bind_param() in o código é esse: setlocale(LC_MONETARY,"en_US"); if(isset($_POST["id"])) { foreach($_POST as $key => $value){ $product[$key] = filter_var($value, FILTER_SANITIZE_STRING); } $statement = app('db')->prepare("SELECT as_produtos.nome, as_produtos.preco FROM as_produtos WHERE id=? LIMIT 1"); $statement->bind_param('s', $product['id']); $statement->execute(); $statement->bind_result($product_name, $product_price); while($statement->fetch()){ $product["product_name"] = $product_name; $product["product_price"] = $product_price; if(isset($_SESSION["products"])){ if(isset($_SESSION["products"][$product['id']])) { $_SESSION["products"][$product['id']]["product_qty"] = $_SESSION["products"][$product['id']]["product_qty"] + $_POST["product_qty"]; } else { $_SESSION["products"][$product['id']] = $product; } } else { $_SESSION["products"][$product['id']] = $product; } } $total_product = count($_SESSION["products"]); die(json_encode(array('products'=>$total_product))); } if(isset($_GET["remove_code"]) && isset($_SESSION["products"])) { $product_code = filter_var($_GET["remove_code"], FILTER_SANITIZE_STRING); if(isset($_SESSION["products"][$product_code])) { unset($_SESSION["products"][$product_code]); } $total_product = count($_SESSION["products"]); die(json_encode(array('products'=>$total_product))); } if(isset($_GET["update_quantity"]) && isset($_SESSION["products"])) { if(isset($_GET["quantity"]) && $_GET["quantity"]>0) { $_SESSION["products"][$_GET["update_quantity"]]["product_qty"] = $_GET["quantity"]; } $total_product = count($_SESSION["products"]); die(json_encode(array('products'=>$total_product))); }
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.