Array
(
    [0] => stdClass Object
        (
            [Votos_Balanceados] => 1
            [id] => 505311
            [titulo] => Duvida ao decrementar valor de um campo com PHP em bd Mysql
            [dataCadastro] => DateTime Object
                (
                    [date] => 2014-12-24 10:12:11
                    [timezone_type] => 3
                    [timezone] => America/Sao_Paulo
                )

            [isFirstPost] => -1
            [idUsuario] => 232232
            [status] => A
            [isExample] => 
            [NomeUsuario] => Joel Rodrigues
            [Apelido] => 
            [Foto] => 232232_20161017163010.jpg
            [Conteudo] => Qual é sua dúvida exatamente? Alterar o valor de um campo não tem muito mistério. Você está tendo algum problema?
        )

)

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

Matt
   - 23 dez 2014

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.

Post mais votado

Joel Rodrigues
   - 24 dez 2014

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

Marisiana
   - 24 dez 2014

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

Matt
   - 26 dez 2014

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";
}

}

Marisiana
   - 30 dez 2014

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

Matt
   - 02 jan 2015

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

Marisiana
   - 02 jan 2015

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:
#Código

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";	
}

}

Matt
   - 02 jan 2015

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

Marisiana
   - 02 jan 2015

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:
#Código

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....

Matt
   - 07 jan 2015

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?

Jairo Mendes
   - 07 jan 2015

Oi Matt.
Tente o seguinte:

#Código

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. = )

Wellington Silva
   - 07 jan 2015

Se vc quer decrementar um valor numérico que já esteja ne um banco de dados mysql vc pode fazer da seguinte forma:
#Código

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.

Matt
   - 08 jan 2015

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?

Jairo Mendes
   - 08 jan 2015

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

Marisiana
   - 10 jan 2015

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

Fernando C
   - 10 jan 2015

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:
#Código

"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:
#Código
"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:
#Código
$valoraretirar=$_POST['caixa_do_form'];
"UPDATE tbl_produtos SET Estoque_produto=(Estoque_produto-$valoraretirar) WHERE cod='$cod'";

Matt
   - 12 jan 2015

pessoal, o campo estar definido como int, usei todos os exemplos expostos aqui por vocês, porem o mesmo problema persiste. ao invés de decrementar "-1" do valor do campo, ele estar inserindo o "-1" no campo.
E já fiz todas as pesquisas possíveis, tentei de varias foras, porem o problema persiste.

Matt
   - 12 jan 2015

consegui solucionar meu problema :D
Valeu ai por todo mundo que ajudou

Marisiana
   - 12 jan 2015

Por nada!
Poderia informar qual foi a solução?

Thiago
   - 07 jul 2015


Citação:
consegui solucionar meu problema :D
Valeu ai por todo mundo que ajudou


Poderia passar qual foi a solução? pois pode ter alguém com o mesmo problema.