Duvida ao decrementar valor de um campo com PHP em bd Mysql
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.
Se estiver como alguém me ajudar com exemplos,eu sere grato.
Matt
Curtidas 0
Melhor post
Joel Rodrigues
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?
GOSTEI 1
Mais Respostas
Marisiana Battistella
23/12/2014
Tua dúvida está um pouco confusa Matt...
Poderia citar um exemplo de informação que vc está tentando alterar?
Poderia citar um exemplo de informação que vc está tentando alterar?
GOSTEI 1
Matt
23/12/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";
}
}
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";
}
}
GOSTEI 0
Marisiana Battistella
23/12/2014
Se vc executar sem fazer a subtração " $Estoque_produto = $Estoque_produto-1; " ainda apresenta erro?
Qual é o erro que ocorre?
Qual é o erro que ocorre?
GOSTEI 1
Matt
23/12/2014
na verdade não é que apresenta algum erro.
não ta decrementando no campo do DB
não ta decrementando no campo do DB
GOSTEI 0
Marisiana Battistella
23/12/2014
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:
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"; } }
GOSTEI 1
Marisiana Battistella
23/12/2014
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]
[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]
GOSTEI 1
Matt
23/12/2014
obrigado pela orientação!
assim que possível, irei testar novamente
assim que possível, irei testar novamente
GOSTEI 0
Marisiana Battistella
23/12/2014
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:
Faz tempo q não desenvolvo em PHP e não lembro bem como é o correto....
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....
GOSTEI 1
Matt
23/12/2014
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?
Se eu posta o código da minha pagina vocês podem me ajudar a encontra onde eu estou errando?
GOSTEI 0
Jairo Mendes
23/12/2014
Oi Matt.
Tente o seguinte:
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. = )
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. = )
GOSTEI 1
Wellington Silva
23/12/2014
Se vc quer decrementar um valor numérico que já esteja ne um banco de dados mysql vc pode fazer da seguinte forma:
Dessa forma o MySQL busca o valor atual da coluna quantidade e decrementar 1. Agora basta adaptar ao seu gosto.
Espero ter ajudado.
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.
GOSTEI 0
Matt
23/12/2014
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?
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?
GOSTEI 0
Jairo Mendes
23/12/2014
Oi Matt.
Verifique o tipo do campo Estoque_produto.
Talvez não esteja definido como numérico.
Verifique o tipo do campo Estoque_produto.
Talvez não esteja definido como numérico.
GOSTEI 1
Marisiana Battistella
23/12/2014
Matt, conseguiu descobrir o que está ocasionando o erro?
GOSTEI 0
Fernando C
23/12/2014
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:
2. se vc quer substituir o "1" por uma variavel selecionada num form, tente assim:
mas recomendo que use outros nomes p/ melhorar a legibilidade do seu código; ex:
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'";
GOSTEI 1
Matt
23/12/2014
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.
E já fiz todas as pesquisas possíveis, tentei de varias foras, porem o problema persiste.
GOSTEI 0
Matt
23/12/2014
consegui solucionar meu problema :D
Valeu ai por todo mundo que ajudou
Valeu ai por todo mundo que ajudou
GOSTEI 0
Marisiana Battistella
23/12/2014
Por nada!
Poderia informar qual foi a solução?
Poderia informar qual foi a solução?
GOSTEI 0
Thiago
23/12/2014
consegui solucionar meu problema :D
Valeu ai por todo mundo que ajudou
Valeu ai por todo mundo que ajudou
Poderia passar qual foi a solução? pois pode ter alguém com o mesmo problema.
GOSTEI 0