Duvida ao decrementar valor de um campo com PHP em bd Mysql

23/12/2014

0

Pessoal, gostaria de orientação para efetuar uma decrementarão em um campo.
Se estiver como alguém me ajudar com exemplos,eu sere grato.
Matt

Matt

Responder

Post mais votado

24/12/2014

Qual é sua dúvida exatamente? Alterar o valor de um campo não tem muito mistério. Você está tendo algum problema?

Joel Rodrigues

Joel Rodrigues
Responder

Mais Posts

24/12/2014

Marisiana Battistella

Tua dúvida está um pouco confusa Matt...
Poderia citar um exemplo de informação que vc está tentando alterar?
Responder

26/12/2014

Matt

Eu nunca tinha trabalhado com operadores de incremento e decremento antes, fiz algumas pesquiças, busquei alguns exemplos, mas não obtive exito.
esse é meu código. podem me dizer oque estou fazendo de errado?

if(isset($_POST['add']))

{

$Estoque_produto = $_POST['Estoque_produto'];
$Estoque_produto = $Estoque_produto-1;
$sql = mysql_query("UPDATE tbl_produtos SET Estoque_produto='$Estoque_produto' WHERE cod='$cods'")or die(mysql_error());
if($sql == 1){
print"okey";
}


}
Responder

30/12/2014

Marisiana Battistella

Se vc executar sem fazer a subtração " $Estoque_produto = $Estoque_produto-1; " ainda apresenta erro?
Qual é o erro que ocorre?
Responder

02/01/2015

Matt

na verdade não é que apresenta algum erro.
não ta decrementando no campo do DB
Responder

02/01/2015

Marisiana Battistella

Eu posso estar enganada, mas vc não está decrementando, vc está subtraindo...
Então talvez esteja faltando um espaço a direita e a esquerda do sinal de subtração:
if(isset($_POST['add']))

{

$Estoque_produto = $_POST['Estoque_produto'];
$Estoque_produto = $Estoque_produto - 1;
$sql = mysql_query("UPDATE tbl_produtos SET Estoque_produto='$Estoque_produto' WHERE cod='$cods'")or die(mysql_error());
if($sql == 1){
print"okey";	
}

}
Responder

02/01/2015

Marisiana Battistella

Veja algumas explicações:

[url:descricao=Operadores Aritméticos]http://php.net/manual/pt_BR/language.operators.arithmetic.php[/url]

Operadores de Incremento/Decremento

[url:descricao=Operadores lógicos, aritméticos e de atribuição do PHP]https://www.devmedia.com.br/operadores-logicos-aritmeticos-e-de-atribuicao-do-php/25628[/url]
Responder

02/01/2015

Matt

obrigado pela orientação!
assim que possível, irei testar novamente
Responder

02/01/2015

Marisiana Battistella

Por nada Matt!
Observei outro ponto no teu código...
No UPDATE, eu acho q vc não está concatenando o SQL com as variáveis corretamente.
Se não me engano é assim:
if(isset($_POST['add']))
{
$Estoque_produto = $_POST['Estoque_produto'];
$Estoque_produto = $Estoque_produto - 1;
$sql = mysql_query("UPDATE tbl_produtos SET Estoque_produto='.$Estoque_produto.' WHERE cod='.$cods.'")or die(mysql_error());
if($sql == 1){
print"okey";    
}
}


Faz tempo q não desenvolvo em PHP e não lembro bem como é o correto....
Responder

07/01/2015

Matt

segui as orientações de vocês porem não obtive exito.
Se eu posta o código da minha pagina vocês podem me ajudar a encontra onde eu estou errando?
Responder

07/01/2015

Jairo Mendes

Oi Matt.
Tente o seguinte:

if(isset($_POST['add']))  {
  $Estoque_produto = $_POST['Estoque_produto'];
  echo $Estoque_produto;
  $Estoque_produto = $Estoque_produto-1;
  echo " Estoque_produto2: ". $Estoque_produto;
  $query_sql = "UPDATE tbl_produtos SET Estoque_produto='$Estoque_produto' WHERE cod='$cods'";
  echo " SQL: " . $query_sql;
  $sql = mysql_query($query_sql)or die(mysql_error());
  if($sql == 1) print"okey";	
}


Dessa forma você pode visualizar melhor o que esta acontecendo.
Não sei se errei alguma coisinha, pois fiz aqui no campo de mensagem mesmo. = )
Responder

07/01/2015

Wellington Silva

Se vc quer decrementar um valor numérico que já esteja ne um banco de dados mysql vc pode fazer da seguinte forma:
UPDATE produtos SET quantidade = quantidade - 1 WHERE produto_id = 322;


Dessa forma o MySQL busca o valor atual da coluna quantidade e decrementar 1. Agora basta adaptar ao seu gosto.
Espero ter ajudado.
Responder

08/01/2015

Matt

ai pessoal, obtive um resultado um pouco agradável. porem não o certo.
Quando eu executo a decrementarão ao invés de subtrair um valor, estar alterando o valor do campo para o valor "-1"


$cod = $_GET['cod'];
$Estoque_produto = $_POST['Estoque_produto'];
echo $Estoque_produto;
$Estoque_produto = $Estoque_produto - 1;
echo " Estoque_produto2: ". $Estoque_produto;
$query_sql = "UPDATE tbl_produtos SET Estoque_produto='$Estoque_produto' WHERE cod='$cod'";
echo " SQL: " . $query_sql;
$sql = mysql_query($query_sql)or die(mysql_error());
if($sql == 1) print"okey";


alguém pode me dizer oque estar acontecendo?
Responder

08/01/2015

Jairo Mendes

Oi Matt.
Verifique o tipo do campo Estoque_produto.
Talvez não esteja definido como numérico.
Responder

10/01/2015

Marisiana Battistella

Matt, conseguiu descobrir o que está ocasionando o erro?
Responder

10/01/2015

Fernando C

se entendi bem, sugestões:
1. se realmente a coluna Estoque_produto está definida como numérica (ex: int),
execute a sql sem a variavel; ex:
"UPDATE tbl_produtos SET Estoque_produto=(Estoque_produto-1) WHERE cod='$cod'";


2. se vc quer substituir o "1" por uma variavel selecionada num form, tente assim:
"UPDATE tbl_produtos SET Estoque_produto=(Estoque_produto-$Estoque_produto) WHERE cod='$cod'";


mas recomendo que use outros nomes p/ melhorar a legibilidade do seu código; ex:
$valoraretirar=$_POST['caixa_do_form'];
"UPDATE tbl_produtos SET Estoque_produto=(Estoque_produto-$valoraretirar) WHERE cod='$cod'";
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar