Ir para conteúdo
Entre para seguir isso  
dougb60

condição 'else'

Recommended Posts

Bom dia pessoal,

 

sou novato no campo da programação, principalmente em PHP, e estou tendo problemas com uma condição 'else'.

estou desenvolvendo um sistema bem simples para controle de estoque de tonner que usamos aqui na empresa, é um sistema

bem simples mesmo, ele basicamente armazena o numero de entrada, saida, e saldo em estoque dos produtos. no código abaixo

se a pesquisa corresponde aos parametros da condição ela me retorna o resultado esperado, porém se não, ela simplesmente ignora o 'else' e não retorna nada. Provavelmente é algum erro bobo que estou cometendo, mas não consegui identificar.
<?php 						        #valores do formulario      $tipo = $_POST["retorno"];      $nome = $_POST["select"];      $data = $_POST["data"];			        #cria as query's                            $queryE = "SELECT * FROM entrada WHERE data = '$data' AND produto = '$nome'";      $queryS = "SELECT * FROM saida WHERE data = '$data' AND produto = '$nome'";        #valida qual query realizar      if ($tipo == "entrada"){        $rs = mysqli_query($dbc, $queryE);    }      elseif ($tipo == "saida"){        $rs = mysqli_query($dbc, $queryS);    }            else {    echo "Failed to connect to MySQL: (" . $dbc->connect_errno . ") " . $dbc->connect_error;}?>                <!-- Cria cabeçalho TABLE-->      <table border="1">        <tr>          <th>Nome do Produto</th>          <th>Quantidade em estoque</th>        </tr>                   <?php           #Retorna valor da query      while ($row = Mysqli_fetch_array($rs)) {        if($tipo == "entrada")  {        echo "<tr><td>".$row[0]."</td>"."<td>".$row[1]."</td></tr>";                }        elseif($tipo == "saida" ){        echo "<tr><td>".$row[0]."</td>"."<td>".$row[1]."</td></tr>";      }                elseif (($tipo == "saldo") && $row > 0) {        echo "Sairam do estoque ".$row ['total']. " unidades de ".$nome."<br/>";       }        else{         echo "Nenhum registo encontrado";        }    } 			?>           </table>           <a href="pesquisa.php">Retornar para a pesquisa</a>           </div>        </div>        </div>

ps: o ultimo 'elseif' não tem utilidade ainda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

- Por que você não cria uma classe para gerenciar tudo isso?

Orientado a Objeto fica mais fácil de você dar manutenção ao código.

 

Ta aí seu código um pouco melhorado.

<?php
#valores do formulario
$tipo = $_POST["retorno"];
$nome = $_POST["select"];
$data = $_POST["data"];

$_tipo = ($tipo == 'saida') ? 'saida' : 'entrada';

$queryS = "SELECT * FROM $_tipo WHERE data = '$data' AND produto = '$nome'";

$rs = mysqli_query($dbc, $queryS);

if (!$rs) {
    echo "Failed to connect to MySQL: (" . $dbc->connect_errno . ") " . $dbc->connect_error;
}
?>
<!-- Cria cabeçalho TABLE-->
<table border="1">
    <tr>
        <th>Nome do Produto</th>
        <th>Quantidade em estoque</th>
    </tr>   
    <?php
#Retorna valor da query
    while ($row = Mysqli_fetch_array($rs)) {
        #pelo que vi, o "saida" e "entrada", são os mesmos dados, pra que colocar em uma condição?
        echo "<tr><td>" . $row[0] . "</td>" . "<td>" . $row[1] . "</td></tr>";
        
        if (($tipo == "saldo") && $row > 0) {
            echo "Sairam do estoque " . $row ['total'] . " unidades de " . $nome . "<br/>";
        }
    }
    ?>
</table>

<a href="pesquisa.php">Retornar para a pesquisa</a> 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
Entre para seguir isso  

  • Conteúdo Similar

    • Por JPMarte
      Olá, sou estudante iniciante de programação e estou desenvolvendo um código para uma aula, onde esse é o enunciado:
       
      "Faça um código que ajude a calcular a resposta para seus exercícios de Física.
      As questões consistem em calcular a força de atração elétrica entre duas cargas puntiformes,  a força é calculada de acordo com a seguinte fórmula:
       
      F=K×Q1×Q2/D^2
       
      Utilize o valor de 100 para K, Q1, Q2 e D serão fornecidos pelo usuário.

      Mostre o valor de F com duas casas decimais.
       
      Entrada
          Serão fornecidos ao seu programa três valores inteiros, Q1, Q2 e D, respectivamente.
      Saída
          Seu programa deve mostrar o resultado da conta com exatas 2 casas decimais, de acordo com o exemplo abaixo."
       
      Então eu fiz o código que tirei print aqui, mas alguns resultados saem incorretos e sem as casas decimais necessárias!
      Em setprecision, eu coloquei o limite de duas casas (2), mas o programa mostra dois dígitos...
      Quando utilizei setprecision (4) ele até funcionou com resultados como 22.22, mas com números maiores, como 3600, não se mostra uma solução viável.
      Se alguém puder me ajudar, agradeço muito! 

    • Por Zugo
      Saudações caros mestres!
      Vinha pedir a vossa sabedoria relacionada com um problema (provavelmente básico) que estou tendo no meu website.
      Ao actualizar o mesmo e quando tinha tudo pronto a funcionar normalmente, eis que me apareceu algo que não estou conseguindo resolver...
      Num dos separadores da minha página, "Contactos", ao visualizar a página no firefox, existe um trecho em que o código fica visível...
      Estará o problema algures aqui?:
      <?php
                                      if(isset($_GET['status']) && $_GET['status']=='ok'){
                                          $resposta = "Mensagem enviada com sucesso!<br> Responderei em breve, obrigado!";
                                          $format = 'sucesso';
                                      } else if(isset($_GET['status']) && $_GET['status']=='notok'){
                                          $resposta = "O email que indicou não é válido.<br> Por favor, tente novamente.";
                                          $format = 'insucesso';

                                      } else{
                                          $resposta='';
                                          $format='';
                                      }

                                  ?>
                                  <div class="<?php echo $format; ?>">
                                      <?php echo $resposta; ?>
       
      Desde já o meu agradecimento e me desculpem o meu "noobismo"
      Cumprimentos

    • Por mr22robot
      Estou com uma dúvida. É possível determinar um select a partir de uma escolha?
      Ex. 
      SELECT CASE WHEN a < b THEN select * from tabela1 WHEN d < e THEN select * form tabela2 END FROM tabela; Algo parecido. Se uma condição for atendida select1 , se outra condição for atendida: select2.
      O que acontece: estou com um relatorio que preciso criar no winthor e não consigo melhorar isso. Tenho de fazer três relatorios como solução. Se eu consigo implantar isso, eu faria somente um relatorio. 
      Tipo se marcar um campo, sai um relatorio. Se marcar outro, saí outro relatorio.
    • Por salomaobarbosas
      Olá a todos, bom estou em um projeto de construção de um site para uma empresa, nela, estou precisando desenvolver um formulário de contato, porém o mesmo não esta funcionando e ocorre erros não enviando os dados ao e-mail, além de que por ser novato em php não sei como adicionar avisos caso as informações não sejam dos campos corretos. Abaixo estará o código html e php. Desde já agradeço. OBS: Utilizei o Bootstrap também no site html.
      <section class="formulario"> <h1 class="font-weight-light text-black-50 text-center">Contato</h1> <p class="font-weight-light text-black-50 text-center"><span style="color:#dc3545">*</span> Campos obrigatórios</p> <form class="mt-5" action="contato1.php" name="form_contato" method="post"> <div class="d-flex"> <div class="form-group col-md-6"> <label for="#NomeCompleto" style="font-size: 1.5em;" class="text-black-50 font-weight-light">Nome <span style="color:#dc3545">*</span></label> <input type="text" name="nome" class="form-control" id="NomeCompleto" placeholder="Nome Completo" required> </div> <div class="form-group col-md-6"> <label for="#EmailEnviar" style="font-size: 1.5em;" class="text-black-50 font-weight-light">Email <span style="color:#dc3545">*</span></label> <input type="email" name="email" class="form-control" id="EmailEnviar" placeholder="name@gmail.com" required> </div> </div> <div class="col"> <label for="#validationDefault05" style="font-size: 1.5em;" class="text-black-50 font-weight-light">Assunto <span style="color:#dc3545">*</span></label> <input type="text" name="assunto" class="form-control" placeholder="Assunto sobre a mensagem"> </div> <div class="col"> <label for="#exampleFormControlTextarea" style="font-size: 1.5em;" class="text-black-50 font-weight-light">Mensagem <span style="color:#dc3545"></span></label> <textarea type="text" name="msg" class="form-control rounded-1" id="exampleFormControlTextarea" rows="4" placeholder="Deixe sua mensagem"></textarea> </div><Br> <div class="col"> <button type="submit" value="Enviar" class="btn btn-outline-danger btn-lg btn-block">ENVIAR</button> </div> </form> </section> <?php # alterar a variavel abaixo colocando o seu email // header $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=".$charset."\r\n"; $headers .= "Reply-To: ".$email."\r\n"; //$headers .= "Cc: copia@seudominio\r\n"; //CAMPO COPIA OPCIONAL //$headers .= "Bcc: copiaoculta@seudominio\r\n"; //CAMPO COPIA OCULTA OPCIONAL $headers .= "Return-Path: comercial@jeaseg.com.br \r\n"; // return-path $headers .= "From: \"Contato - Site\" \r\n"; $destinatario = "comercial@jeaseg.com.br"; $nome = $_REQUEST['nome']; $email = $_REQUEST['email']; $msg = $_REQUEST['msg']; $assunto = $_REQUEST['assunto']; // monta o e-mail na variavel $body $body = "===================================" . "\n"; $body = $body . "INFORMAÇÕES DE CONTATO" . "\n"; $body = $body . "===================================" . "\n\n"; $body = $body . "Nome: " . $nome . "\n"; $body = $body . "Email: " . $email . "\n"; $body = $body . "Mensagem: " . $msg . "\n\n"; $body = $body . "===================================" . "\n"; // envia o email $envio = mail($destinatario, $assunto , $body, "From: $email\r\n"); // redireciona para a página de obrigado header("location:index.html"); ?> Precisa de mais alguma coisa que preciso adicionar? Seja no e-mail oficial da empresa, no código, entre outros?
    • Por nicolasbessa
      Boa tarde!
       
      Como aplicar a regra abaixo em um select?

      Regra Join
      Quando o campo substr(x, 1,1)  ='1'
      montar a chave de pesquisa:
      y = '8' AND y1 =  'L'||lpad( x1, 2)) 

      Quando o campo substrt(x, 1,1) for igual ='A'
      montar a chave de pesquisa:
      y = '8' AND y1 =  'M'||lpad( x1, 2)) 
       
      obrigado!
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.