Jump to content
Fórum Script Brasil
  • 0

Bloquear estoque insufisiente


Bruno Marques Conte

Question

boa noite.

aqui estou eu mais uma vez para pedir ajuda.

no meu for puxo mais de um campo, na verdade 2 por cadastro para dar baixa em 2 produtos do estoque.

meu form:

<form action='recebe.php' method='post'>
Quantidade: <input type='text' name='qtd'>
<?php
            while ($vetor3=mysql_fetch_array($sql_prod)) {?>
            <input type="hidden" name="nome[]" value="<?php echo $vetor3[modelo]; ?>" />
            <input type="hidden" name="cor[]" value="<?php echo $vetor3[cor]; ?>" />
            <input type="hidden" name="tamanho[]" value="<?php echo $vetor3[tamanho]; ?>" />
<?php } ?>
Aqui ele puxa os 2 registros que pequei ajuda agora a pouco aqui no forum. quando eu digito a quantidade a ser baixada, se o estoque de 1 dos produtos for menor que a quantidade ele não pode dar baixa em nenhum dos 2, e desse jeito se um tiver estoque ele atualiza ele. codigo recebe.php:
$qtd = $_POST['qtd'];
        
            $nome = $_POST['nome'];
            $cor = $_POST['cor'];
            $tamanho = $_POST['tamanho'];
            
            $posicoes = count($nome);//pega a quantidade de itens
            for( $i = 0; $i < $posicoes; $i++){
        
            $anuncie_sql = mysql_query("select * from produto_final WHERE modelo = '$nome[$i]' AND cor='$cor[$i]' AND tamanho='$tamanho[$i]'") or die(mysql_error());
            $vetor = mysql_fetch_array($anuncie_sql);
        
            if($vetor[qtd] < $qtd) {
            echo"Estoque insuficiente<br>";
            }else{
...

se ele passar para o else ele já da baixa de estoque, como eu faço para ele comprar os 2 antes de atualizar, onde se 1 tiver com estoque invalido ele cancela toda operação???

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

A lógica seria algo do tipo.

$ok = true;

$qtd = $_POST['qtd'];
$nome = $_POST['nome'];
$cor = $_POST['cor'];
$tamanho = $_POST['tamanho'];
                        
$posicoes = count($nome);//pega a quantidade de itens
for( $i = 0; $i < $posicoes; $i++){
                
$anuncie_sql = mysql_query("select * from produto_final WHERE modelo = '$nome[$i]' AND cor='$cor[$i]' AND tamanho='$tamanho[$i]'") or die(mysql_error());
$vetor = mysql_fetch_array($anuncie_sql);
                
if($vetor[qtd] < $qtd) {
     echo"Estoque insuficiente<br>";
$ok = false;
}
}

if($ok == true){
//Faz a mesma coisa que antes, só que não precis mais validar, só dar baixa.
}

Na realidade existem várias formas de resolver este seu problema, essa é só uma delas.

Link to comment
Share on other sites

  • 0

cara te o momento valeu.

o problema e que agora ele não atualiza o estoque.

<?php
    include"../includes/conecta.php";
    $id = $_GET['id'];
    $ok = true;
    $qtd = $_POST['qtd'];
        
            $nome = $_POST['nome'];
            $cor = $_POST['cor'];
            $tamanho = $_POST['tamanho'];
            
            $posicoes = count($nome);//pega a quantidade de itens
            for( $i = 0; $i < $posicoes; $i++){
        
            $anuncie_sql = mysql_query("select * from produto_final WHERE modelo = '$nome[$i]' AND cor='$cor[$i]' AND tamanho='$tamanho[$i]'") or die(mysql_error());
            $vetor = mysql_fetch_array($anuncie_sql);
                
            if($vetor[qtd] < $qtd) {
             echo"Estoque insuficiente<br>";
            $ok = false;
            }
            }
            if($ok == true){
            //monta a query
            $sql_up = "update produto_final SET qtd=(qtd - '{$qtd}') WHERE modelo='$nome' AND cor='$cor' AND tamanho='$tamanho'";
                                           
            $sql = mysql_query($sql_up) or die(mysql_error());//executa a query
            
            
            $anuncie_sql = mysql_query("select * from produtofim WHERE id = '$id'") or die(mysql_error());
            $vetor = mysql_fetch_array($anuncie_sql);
                        
            $sql_prodfim = "update produtofim SET qtd=(qtd + '{$qtd}') WHERE id='$id'";
            
            echo"Itens Atualizados com sucesso<br>";
            echo "estoque atualizado com sucesso";
            
            $sqlpf = mysql_query($sql_prodfim) or die(mysql_error());//executa a query
        
        }

    ?>

se eu colocar o for no final do codigo ele continua atualizando o produto que tem estoque.

att.

Link to comment
Share on other sites

  • 0

eu fiz assim:

<?php

include"../includes/conecta.php";

$id = $_GET['id'];

$ok = true;

$qtd = $_POST['qtd'];

$nome = $_POST['nome'];

$cor = $_POST['cor'];

$tamanho = $_POST['tamanho'];

$posicoes = count($nome);//pega a quantidade de itens

for( $i = 0; $i < $posicoes; $i++){

$anuncie_sql = mysql_query("select * from produto_final WHERE modelo = '$nome[$i]' AND cor='$cor[$i]' AND tamanho='$tamanho[$i]'") or die(mysql_error());

$vetor = mysql_fetch_array($anuncie_sql);

if($vetor[qtd] < $qtd) {

echo"Estoque insuficiente<br>";

$ok = false;

}

if($ok == true){

//monta a query

$sql_up = "update produto_final SET qtd=(qtd - '{$qtd}') WHERE modelo='$nome' AND cor='$cor' AND tamanho='$tamanho'";

$sql = mysql_query($sql_up) or die(mysql_error());//executa a query

$anuncie_sql = mysql_query("select * from produtofim WHERE id = '$id'") or die(mysql_error());

$vetor = mysql_fetch_array($anuncie_sql);

$sql_prodfim = "update produtofim SET qtd=(qtd + '{$qtd}') WHERE id='$id'";

echo"Itens Atualizados com sucesso<br>";

echo "estoque atualizado com sucesso";

$sqlpf = mysql_query($sql_prodfim) or die(mysql_error());//executa a query

}

}

?>

e se um produto tiver estoque, ele atualiza.

Link to comment
Share on other sites

  • 0

cara, tentei fazer assim.

mesmo tendo estoque da sempre no estoque insuficiente, sera porque em??

<?php

include"../includes/conecta.php";

$id = $_GET['id'];

$ok = true;

$finalizado = $_POST['finalizado'];

$produto = $_POST['produto'];

$qtd = $_POST['qtd'];

$posicoes = count($produto);//pega a quantidade de itens

for( $i = 0; $i < $posicoes; $i++){

$anuncie_sql1 = mysql_query("select * from produto WHERE nome = '$produto[$i]'") or die(mysql_error());

$vetor1 = mysql_fetch_array($anuncie_sql1);

if($vetor1[qtde] < $qtd) {

echo"Estoque insuficiente<br>";

$ok = false;

}

}

if($ok == true){

//monta a query

for( $i = 0; $i < $posicoes; $i++){

$sql_up = "update produto SET qtde=(qtde - '{$qtd}') WHERE nome='$produto[$i]''";

$sql = mysql_query($sql_up) or die(mysql_error());//executa a query

echo"Itens Atualizados com sucesso<br>";

}

$anuncie_sql = mysql_query("select * from os WHERE id = '$id'") or die(mysql_error());

$vetor = mysql_fetch_array($anuncie_sql);

$sql_prodfim = "update os SET finalizado='$finalizado' WHERE id='$id'";

echo "estoque atualizado com sucesso";

$sqlpf = mysql_query($sql_prodfim) or die(mysql_error());//executa a query

}

?>

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...