Entrada de Produtos em carrinho
Pessoal tenho um formulário que busca o código do produto para inclusão no carrinho de itens. Veja o código abaixo:
<?php
require ("verifica.php");
?>
<HTML>
<HEAD>
<TITLE>Formulario de Entrada de Itens</TITLE>
<script type="text/javascript" src="java/ajaxentrada.js"></script>
<script language=javascript>
function valida_dados ()
{
if (busca_prod.q_entrada.value <= 0) {
alert ("Por favor digite a quantidade maior que zero !");
busca_prod.q_vendida.focus();
return false;
}
return true;
}
</script>
</HEAD>
<BODY>
<br>
<form name="busca_prod" action="?cad=entradas_p2&mov_entradas&acao=add" method="POST" onsubmit="return valida_dados(this)">
<fieldset>
<legend>BUSCA DO PRODUTO</legend>
<table cellspacing="1" width="100%">
<tr>
<td>Busca:</td>
<td><input name="busca" type="text" id="busca" size="10" onkeyUp="buscarProduto(this.value)"></td>
<td><input name="cod_prod" type="hidden" id="cod_prod" size="10"></td>
<td>Nome do Produto</td>
<td><input name="desc_prod" type="text" id="desc_prod" size="60" readonly="true"></td>
<td>Estoque</td>
<td><input name="esto_prod" type="text" id="esto_prod" size="10" readonly="true"</td>
<td>Preco Custo</td>
<td><input name="preco_prod" type="text" id="preco_prod" size="10" value="0"></td>
<td>Quantidade</td>
<td><input name="q_entrada" type="text" id="q_entrada" size="10" value="0"></td>
<td></td>
<td><input type="submit" name="acao" value="Incluir"></td>
</tr>
</table>
</fieldset>
</form>
<BR>
<div>
<?php
// Chama o carrinho de itens
include "mov_entradas.php";
?>
</div>
</BODY>
</HTML>
Que chama esse código mov_entradas.php. Segue o código abaixo:
<?php
require ("verifica.php");
if(!isset($_SESSION['mov_entradas'])){
$_SESSION['mov_entradas'] = array();
}
//adiciona produto
if(isset($_GET['acao'])){
//ADICIONAR CARRINHO
if($_GET['acao'] == 'add'){
$id = $_POST['busca'];
$id = intval($_POST['busca']);
if(!isset($_SESSION['mov_entradas'][$id])){
$qtd = $_POST['q_entrada'];
$_SESSION['mov_entradas'][$id] = $qtd;
}else{
$qtd = $_POST['q_entrada'];
$_SESSION['mov_entradas'][$id] += $qtd;
}
}
//REMOVER CARRINHO
if($_GET['acao'] == 'del'){
$id = intval($_GET['id']);
if(isset($_SESSION['mov_entradas'][$id])){
unset($_SESSION['mov_entradas'][$id]);
}
}
//ALTERAR QUANTIDADE
if(count($_SESSION['mov_entradas']) == 0){
}else{
if($_GET['acao'] == 'up'){
if(is_array($_POST['prod'])){
foreach($_POST['prod'] as $id => $qtd){
$id = intval($id);
$qtd = intval($qtd);
if(!empty($qtd) || $qtd <> 0){
$_SESSION['mov_entradas'][$id] = $qtd;
}else{
unset($_SESSION['mov_entradas'][$id]);
}
}
}
}
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Itens dos Produtos</title>
</head>
<body>
<br>
<!-- DADOS DOS ITENS DE PRODUTO-->
<fieldset>
<legend>INCLUSÃO DE ITENS NO ESTOQUE</legend>
<table cellspacing="1">
<thead>
<tr>
<th width="400">Produto</th>
<th width="79">Quantidade</th>
<th width="89">Preço</th>
<th width="100">SubTotal</th>
<th width="64">Remover</th>
</tr>
</thead>
<form action="?cad=entradas_p2&mov_entradas&acao=up" method="post">
<tfoot>
<tr>
<td colspan="5"><input type="submit" value="Atualizar Item" /></td>
<td colspan="5"><a href="?cad=exibir_entradas">Gravar Dados</a></td>
</tr>
</tfoot>
<tbody>
<?php
if(count($_SESSION['mov_entradas']) == 0){
echo '<tr><td colspan="5">Não há produto no carrinho</td></tr>';
}else{
require("conexao/bdinc.php");
$total = 0;
foreach($_SESSION['mov_entradas'] as $id => $qtd){
$sql = "SELECT * FROM tabela_produto WHERE cod_produto= '$id'";
$qr = mysqli_query($con,$sql);
$ln = mysqli_fetch_assoc($qr);
$nome = $ln['descricao'];
$preco = $_POST['preco_prod'];
$sub = number_format(($preco * $qtd), 2, ',', '.');
$total += $preco * $qtd;
echo '<tr>
<td>'.$nome.'</td>
<td><input type="text" size="3" name="prod['.$id.']" value="'.$qtd.'" /></td>
<td align ="right">R$ '.$preco.'</td>
<td align ="right">R$ '.$sub.'</td>
<td align ="right"><a href="?cad=entradas_p2&mov_entradas&acao=del&id='.$id.'">Remove</a></td>
</tr>';
}
$total = number_format($total, 2, ',', '.');
echo '<tr>
<td colspan="4">Total</td>
<td>R$ '.$total.'</td>
</tr>';
}
?>
</tbody>
</form>
</table>
</fieldset>
</body>
</html>
O código exibe três erros:
1 - Quando o usuário digitar aqui <td><input name="preco_prod" type="text" id="preco_prod" size="10" value="0"></td> o carrinho exibe o mesmo valor para todos os itens;
2 - Quando o usuário clica em remover exibe esse mensagem: Notice: Undefined index: preco_prod in C:\Apache24\htdocs\estoque\mov_entradas.php on line 97;
3 - Quando o usuário clica em atualiza Item exibe esse mensagem: Notice: Undefined index: preco_prod in C:\Apache24\htdocs\estoque\mov_entradas.php on line 97 e os itens fica tudo com zero.
Portanto, como faço para acerta essas parte do código para reconhecer o valor digitado pelo usuario no input preco_prod
//REMOVER CARRINHO
if($_GET['acao'] == 'del'){
$id = intval($_GET['id']);
if(isset($_SESSION['mov_entradas'][$id])){
unset($_SESSION['mov_entradas'][$id]);
}
}
//ALTERAR QUANTIDADE
if(count($_SESSION['mov_entradas']) == 0){
}else{
if($_GET['acao'] == 'up'){
if(is_array($_POST['prod'])){
foreach($_POST['prod'] as $id => $qtd){
$id = intval($id);
$qtd = intval($qtd);
if(!empty($qtd) || $qtd <> 0){
$_SESSION['mov_entradas'][$id] = $qtd;
}else{
unset($_SESSION['mov_entradas'][$id]);
}
}
}
}
}
}Discussão (2)
Carregando comentários...