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, 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");
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)));
}Carregando comentários...