How to check variable has values?

0

I have a function that performs a select in the database:

function selectIdProdutos($id){
    $banco = abrirBanco();
    $sql = " SELECT * FROM produtos WHERE id = ".$id;
    $resultado = $banco->query($sql);
    $banco->close();
    $produto = mysqli_fetch_assoc($resultado);
    return $produto;
}

However, when there are no records in the database it returns:

Notice: Undefined variable: produtos in 'C:\xampp\htdocs\despesas\despesas\registra_produto.php on line 63'

Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\despesas\despesas\consulta_produtos.php on line 86

To show the products I use:

<tbody>
                <?php

                foreach($grupo as $produtos){ ?>

                    <tr>
                        <td><?=$produtos["descricao"]?> </td>
                        <td>R$<?=$produtos["custo"]?></td>
                        <td>R$<?=$produtos["preco_venda"]?></td>
                        <td> <?php
                            if($produtos["fg_ativo"] == '1'){
                                $produtos["fg_ativo"] = "Ativo";
                            }
                            else{
                                $produtos["fg_ativo"] = "Inativo";
                            }
                        ?>
                        <?=$produtos["fg_ativo"]?> </td>
                        <td>

                            <form name="alterar" action="alterar_produtos.php" method="POST">
                                <input type="hidden" name="id" value= <?=$produtos["id"]?> />
                                <input type="submit" value="Editar" name="editar" class="btn btn-default">
                            </form>

                        </td>
                        <td>

                            <form name="excluir" action="registra_produto.php" method="POST">

                                <input type="hidden" name="id" value="<?=$produtos["id"]?> " />
                                <input type="hidden" name="acao" value="excluir" />
                                <input type="submit" value="Excluir" name="excluir" class="btn btn-default" />

                            </form>

                        </td>
                    </tr>

                    <script>
                        function msgSucesso(){
                            alert('Produto excluido com sucesso');
                        }
                    </script>


                <?php

                }

                ?>

How can I handle this?

    
asked by anonymous 25.01.2018 / 12:59

1 answer

0

There are several ways to do this:

It has a php function that is called isset () it helps us to verify that variavel by parametro is setada , or contains some value. By Ex:

if(isset($_POST['nome'])){
   $nome = $_POST['nome'];
}else{
   $nome = '';
}
  

that is, if you have value in name, assign variable name, if not   put it as empty.

Another way is to use the empty function.

Determines whether a variable is considered empty. A variable is considered empty if it does not exist or its value is equal to FALSE. The empty () function does not generate a warning if the variable does not exist.

For example:

if(empty($_POST['nome'])){
    $nome = 'vazio';
}else{
    $nome = $_POST['nome'];
}
  

that is, if name is empty, assign empty to variable name, if not   put it in the name value.

Remembering all these functions you can assign the ternary operator ! to do the opposite inside an if. for example:

  if(!isset()) // se nao tiver setado

  if(!empty()) // se nao tiver vazio
    
25.01.2018 / 13:10