O CODIGO É ESTE DE BAIXO AKI POREM MESMO QUE EU BOTE NO FORMULARIO QUANTIDADE MENOR DO QUE TA NO "BD" OU IGUAL SEMPRE TA CAINDO NO IF CASO 3 SE PUDEREM AJUDA AGRADEÇO
<?php
$conexao=mysql_connect('localhost','root','')or die('erro ao conectar.Erro:'.mysql_errno().mysql_error());
$nomebanco=mysql_select_db('ladypetshop',$conexao) or die("erro ao selecionar");
mysql_query("INSERT INTO vendas VALUES(DEFAULT,'$nomeproduto','$quantidade','$datavenda','$valorunitario','$valortotal','$nomecliente','$valortotalestoque','$valorunitarioestoque','$lucrounitario','$lucrototal','$pagoestoque')")or die ('erro ao executar insert. Erro:'. mysql_errno() .mysql_error());
/*Esta parte de baixo atualiza o registro da tabela estoque mas so se quantidade for maior que $quantidade */
if (mysql_query("SELECT quantidade FROM estoque WHERE id = '$id' ") > $quantidade) {
mysql_query("UPDATE estoque SET quantidade = [quantidade - '$quantidade'] WHERE id ='$id' ")or die ('erro ao executar insert. Erro:'. mysql_errno() .mysql_error());}
/*se a quantidade for do mesmo tamanho vai colocar 1 em vez de 0 na tabela estoque campo vendido alem de zerar quantidade vai tambem tranferir os dados para outraa tabela e deletar os que estao na tabela estoque */
elseif(mysql_query("SELECT quantidade FROM estoque WHERE id = '$id' ")== $quantidade){
mysql_query("UPDATE estoque SET quantidade = 'quantidade' - '$quantidade', vendido = '1' WHERE nome LIKE '%".$nomeproduto."%' AND 'quantidade' == '$quantidade' ") or die ('erro ao executar insert. Erro:'. mysql_errno() .mysql_error());
mysql_query("INSERT INTO estoquevenddeletar SELECT * FROM estoque WHERE vendido ='1'")
or die ('erro ao executar insert. Erro:'. mysql_errno() .mysql_error());
mysql_query("DELETE FROM estoque WHERE vendido ='1'")or die ('erro ao executar insert. Erro:'. mysql_errno() .mysql_error());
}
elseif (mysql_query("SELECT quantidade FROM estoque WHERE id = '$id' ") < $quantidade) {
echo "A quantidade de venda =".$quantidade." é maior do que a quantidade em estoque do produto selecionado".". Por favor tente fazer a operaçao novamente com outro registro de produto";
Pergunta
Maikeldld
SO NOVO EM PHP E TO PRECISANDO DE UMA AJUDA
O CODIGO É ESTE DE BAIXO AKI POREM MESMO QUE EU BOTE NO FORMULARIO QUANTIDADE MENOR DO QUE TA NO "BD" OU IGUAL SEMPRE TA CAINDO NO IF CASO 3 SE PUDEREM AJUDA AGRADEÇO
<?php
$conexao=mysql_connect('localhost','root','')or die('erro ao conectar.Erro:'.mysql_errno().mysql_error());
$nomebanco=mysql_select_db('ladypetshop',$conexao) or die("erro ao selecionar");
session_start();
$nomeproduto= $_SESSION['nome'];
$quantidade=$_SESSION["quantidade"];
$valorunitario=$_SESSION["valorunitario"];
$datavenda=$_SESSION["datavenda"];
$nomecliente=$_SESSION["nomecliente"];
$valortotal=($valorunitario * $quantidade);
$datavenda= ($datavenda[6].$datavenda[7].$datavenda[8].$datavenda[9].$datavenda[2].$datavenda[3].$datavenda[4].$datavenda[5].$datavenda[0].$datavenda[1]);
$sql = mysql_query("SELECT * FROM estoque WHERE nome LIKE '%".$nomeproduto."%' ORDER BY nome");
while ($estoque = mysql_fetch_array($sql)) {
$valorunitarioestoque = $estoque['valor'] ;
}
$sql = mysql_query("SELECT * FROM estoque WHERE nome LIKE '%".$nomeproduto."%' ORDER BY nome");
while ($estoque = mysql_fetch_array($sql)) {
$valortotalestoque = $estoque['valortotal'] ;
}
$sql = mysql_query("SELECT * FROM estoque WHERE nome LIKE '%".$nomeproduto."%' ORDER BY nome");
while ($estoque = mysql_fetch_array($sql)) {
$id =$estoque['id'] ;
}
$pagoestoque=($quantidade*$valorunitarioestoque);
$lucrounitario=($valorunitario - $valorunitarioestoque);
$lucrototal=($lucrounitario * $quantidade);
//ate aki so declarando variaveis
mysql_query("INSERT INTO vendas VALUES(DEFAULT,'$nomeproduto','$quantidade','$datavenda','$valorunitario','$valortotal','$nomecliente','$valortotalestoque','$valorunitarioestoque','$lucrounitario','$lucrototal','$pagoestoque')")or die ('erro ao executar insert. Erro:'. mysql_errno() .mysql_error());
/*Esta parte de baixo atualiza o registro da tabela estoque mas so se quantidade for maior que $quantidade */
if (mysql_query("SELECT quantidade FROM estoque WHERE id = '$id' ") > $quantidade) {
mysql_query("UPDATE estoque SET quantidade = [quantidade - '$quantidade'] WHERE id ='$id' ")or die ('erro ao executar insert. Erro:'. mysql_errno() .mysql_error());}
/*se a quantidade for do mesmo tamanho vai colocar 1 em vez de 0 na tabela estoque campo vendido alem de zerar quantidade vai tambem tranferir os dados para outraa tabela e deletar os que estao na tabela estoque */
elseif(mysql_query("SELECT quantidade FROM estoque WHERE id = '$id' ")== $quantidade){
mysql_query("UPDATE estoque SET quantidade = 'quantidade' - '$quantidade', vendido = '1' WHERE nome LIKE '%".$nomeproduto."%' AND 'quantidade' == '$quantidade' ") or die ('erro ao executar insert. Erro:'. mysql_errno() .mysql_error());
mysql_query("INSERT INTO estoquevenddeletar SELECT * FROM estoque WHERE vendido ='1'")
or die ('erro ao executar insert. Erro:'. mysql_errno() .mysql_error());
mysql_query("DELETE FROM estoque WHERE vendido ='1'")or die ('erro ao executar insert. Erro:'. mysql_errno() .mysql_error());
}
elseif (mysql_query("SELECT quantidade FROM estoque WHERE id = '$id' ") < $quantidade) {
echo "A quantidade de venda =".$quantidade." é maior do que a quantidade em estoque do produto selecionado".". Por favor tente fazer a operaçao novamente com outro registro de produto";
}
mysql_close($conexao);
session_destroy();
?>
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.