Olá a todos. Estou fazendo um site de comércio eletrônico e estou encontrando dificuldades na implementação da seguinte questão: Quando eu escolho um produto clicando no botão comprar, eu pego e o adiciono em uma tabela itens do carrinho. O problema que eu estou enfrentando, é que se um produto já existe no carrinho, eu não precisaria inserilo novamente, e é isso que está acontecendo. Segue abaixo o meu código $sql2 = "select PRO_CODIGO from TBL_ITEM_CARRINHO where ITEM_SESSAO = '".session_id()."'";
$this->resultadoprod = $this->con->banco->Execute($sql2);
if(!$resultadoprod) // não tem nenhum registro, então insere
{
$sql = "select * from TBL_PRODUTO where PRO_CODIGO = ".$codigo_produto;
$this->resultado_pro = $this->con->banco->Execute($sql);
$this->registro_pro = $this->resultado_pro->FetchNextObject();
$valortotal = $this->registro_pro->PRO_QUANTIDADE * $this->registro_pro->PRO_VALOR;
$sql_sacola = "insert into TBL_ITEM_CARRINHO (PRO_CODIGO, ITEM_NOMEITEM, ITEM_MARCA ,ITEM_PRECOUNITARIO, ITEM_QUANTIDADE, ITEM_VALORTOTAL, ITEM_SESSAO)
values (".$codigo_produto.",'".$this->registro_pro->PRO_DESCRICAO."','".$this->registro_pro->PRO_MARCA."',".$this->registro_pro->PRO_VALOR.",".$this->registro_pro->PRO_QUANTIDADE.",'$valortotal','".session_id()."')";
if($this->resultado_sacola = $this->con->banco->Execute($sql_sacola))
{
alerta("foi add");
return true;
}
else
{
alerta("não foi add");
return false;
}
}
else // possuiu registros na tabela
{
alerta("possuiu registros na tabela");
} Mesmo ele tendo um registro na tabela, quando eu chamo essa função novamente para gravar um outro produto, ele não cai no "else" para eu verificar se o código é igual para saber se tenho que atualizar(se for o caso do mesmo produto) ou se tenho que inserir (se for o caso de um produto novo) Não sei se a minha lógica está certa, estou aberto a sugestões. Obrigado