Duvida ao decrementar valor de um campo com PHP em bd Mysql
23/12/2014
0
Se estiver como alguém me ajudar com exemplos,eu sere grato.
Matt
Post mais votado
24/12/2014
Joel Rodrigues
Mais Posts
24/12/2014
Marisiana Battistella
Poderia citar um exemplo de informação que vc está tentando alterar?
26/12/2014
Matt
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";
}
}
30/12/2014
Marisiana Battistella
Qual é o erro que ocorre?
02/01/2015
Matt
não ta decrementando no campo do DB
02/01/2015
Marisiana Battistella
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"; } }
02/01/2015
Marisiana Battistella
[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]
02/01/2015
Matt
assim que possível, irei testar novamente
02/01/2015
Marisiana Battistella
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....
07/01/2015
Matt
Se eu posta o código da minha pagina vocês podem me ajudar a encontra onde eu estou errando?
07/01/2015
Jairo Mendes
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. = )
07/01/2015
Wellington Silva
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.
08/01/2015
Matt
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?
08/01/2015
Jairo Mendes
Verifique o tipo do campo Estoque_produto.
Talvez não esteja definido como numérico.
10/01/2015
Marisiana Battistella
10/01/2015
Fernando C
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'";
Clique aqui para fazer login e interagir na Comunidade :)