1
resposta

A tabela aparece, mas sem conteúdo.

<html>
<head>
    <title>Minha loja</title>
    <meta charset="utf-8">
    <link href="css/bootstrap.css" rel="stylesheet"/>
    <link href="css/loja.css" rel="stylesheet"/>
</head>
<body>
<div class="navbar navbar-inverse navbar-fixed-top">
    <div class="container">
        <div class="navbar-header">
            <a href="index.php" class="navbar-brand">Minha Loja</a>
        </div>
        <div>
            <ul class="nav navbar-nav">
                <li><a href="produto-formulario.php">Adiciona Produto</a></li>
                <li><a href="produto-lista.php">Lista de Produtos</a></li>
                <li><a href="sobre.php">Sobre</a></li>
            </ul>
        </div>
    </div> 
</div>
<?php
function listaProdutos ($conexao) {
    $produtos = array();
    $resultado = mysqli_query($conexao, "SELECT * FROM produtos");
    while($produto = mysqli_fetch_assoc($resultado)) {
        array_push($produtos, $produto);
    }
        Return $produtos;
}

function insereProdutos ($conexao, $nome, $preco) {
$query = "insert into produtos (nome, preco) values ('{$nome}', {$preco})";
$resultadoDaInsercao = mysqli_query($conexao, $query);
return $resultadoDaInsercao; 
}
<?php include("cabecalho.php"); ?>
<?php include("conecta.php"); ?>
<?php include("banco-produtos.php"); ?>

<?php

    $produtos = listaProdutos($conexao);

?>

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

<?php
    foreach($produtos as $produto) {
?>    

    <tr>
        <td><?php $produto['nome'] ?></td>
        <td><?php $produto['preco'] ?></td>
    </tr>


<?php

    } //podemos fechar o foreach com endforeach também

?>
    </table>

<?php include("rodape.php");?>

A tabela é mostrada com a quantidade dos itens que tenho em minha tabela no banco de dados, mas nenhum conteúdo é mostrado. O formulário funciona normalmente, conseguindo adicionar itens na tabela e mostrando erro quando deixo de digitar um dos inputs.

1 resposta

Leopoldo, falta você informar ao php para imprimir na tela.

Nesse trecho:

<tr>
    <td><?php $produto['nome'] ?></td>
    <td><?php $produto['preco'] ?></td>
 </tr>

Insira o echo. Ficando assim:

<tr>
    <td><?php echo $produto['nome'] ?></td>
    <td><?php echo $produto['preco'] ?></td>
 </tr>

Testa aí e dá um retorno.

Abraço.