Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Retorno boolean 0 e 1

ao adicionar alter table produtos add column molho boolean default false molho no caso substitui o usado ao listar aparece somente 0 e 1 . Como faço para parecer molho incluso ou nao incluso.

produto-listar
<?php if(array_key_exists("removido", $_GET) && $_GET['removido']=='true') { ?>
    <p class="alert-success">Produto apagado com sucesso.</p>
<?php } ?>

<table class="table table-striped table-bordered">

    <?php
        $produtos = listaProdutos($conexao);
        foreach($produtos as $produto) :
    ?>
    <tr>
        <td><?= $produto['nome'] ?></td>
        <td><?= $produto['preco'] ?></td>
        <td><?= substr($produto['descricao'], 0, 40) ?></td>
        <td><?= $produto['categoria_nome'] ?></td>
        <td><?= $produto['molho'] ?></td>
        <td>
            <form action="remove-produto.php" method="post">
                <input type="hidden" name="id" value="<?=$produto['id']?>" />
                <button class="btn btn-danger">remover</button>
            </form>
        </td>
    </tr>
    <?php
        endforeach
    ?>
</table>
formulario

  <tr>
            <td></td>
            <td><input type="checkbox" name="molho" value="true"> Incluso molho (katchup, maionese e mostarda).
        </tr>
        <tr>
<?php

function listaProdutos($conexao) {
    $produtos = array();
    $resultado = mysqli_query($conexao, "select p.*, c.nome as categoria_nome from produtos as p join categorias as c on p.categoria_id = c.id");

    while($produto = mysqli_fetch_assoc($resultado)) {
        array_push($produtos, $produto);
    }

    return $produtos;
}

function insereProduto($conexao, $nome, $preco, $descricao, $categoria_id, $molho) {
    $query = "insert into produtos (nome, preco, descricao, categoria_id, molho)
        values ('{$nome}', {$preco}, '{$descricao}', {$categoria_id}, {$molho})";
    return mysqli_query($conexao, $query);
}

function removeProduto($conexao, $id) {
    $query = "delete from produtos where id = {$id}";
    return mysqli_query($conexao, $query);
}
adiciona produto

<?php include("cabecalho.php");
      include("conecta.php");
      include("banco-produto.php"); ?>

<?php

$nome = $_POST["nome"];
$preco = $_POST["preco"];
$descricao = $_POST["descricao"];
$categoria_id = $_POST['categoria_id'];

if(array_key_exists('molho', $_POST)) {
    $molho = "true";
} else {
    $molho = "false";
}

if(insereProduto($conexao, $nome, $preco, $descricao, $categoria_id, $molho)) { ?>
    <p class="text-success">O produto <?= $nome; ?>, <?= $preco; ?> adicionado com sucesso!</p>
<?php } else {
    $msg = mysqli_error($conexao);
?>
    <p class="text-danger">O produto <?= $nome; ?> não foi adicionado: <?= $msg ?></p>
<?php
}
?>

<?php include("rodape.php"); ?>
1 resposta
solução!

Olá, Nicolle.

Se eu entendi bem, $produto['molho'] está vindo com 1 quando tem molho incluso e com 0, quando não tem molho incluso. Certo?

Se sim, isso resolve na hora de exibir:

...
<td><?= $produto['molho'] ? 'Molho incluso' : 'Molho não incluso'; ?></td>
...