Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Listagem de produtos que não é exibida

Pessoal, preciso de uma ajuda na listagem. os produtos não estão sendo exibidos o que pode ser?

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

<?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;

    }

    $produtos = listaProdutos($conexao);
    foreach($produtos as $produto) :
?>
    <div id="tabela_produtos">
        <ul>
            <li><? = $produto['nome'] ?></li>
            <li><? = $produto['preco']?></li>
        <ul>
    </div>

<?php
    endforeach
?>


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

Olá Henrique,

Está aparecendo algum erro na tela ?

Olá Tiago! Não aparece nenhum erro

mas também não são exibidos os produtos. sou novo aqui na alura... consigo enviar um print da tela?

Creio que o problema é o formato do retorno.

A função listaProdutos retorna um array. O que ocorre é que cada elemento deste array de resultados (cada produto selecionado) é um array associativo.

Na hora de imprimir na tabela, experimente alterar

<? = $produto['nome'] ?>

por

<? = $produto->nome ?>
solução!

Então Henrique, testei seu código e funcionou corretamente, só precisei modificar uma coisa. Aonde você está exibindo o nome e o preço:

            <li><? = $produto['nome'] ?></li>
            <li><? = $produto['preco']?></li>

Junte o simbolo <? ao lado do =.

            <li><?= $produto['nome'] ?></li>
            <li><?= $produto['preco']?></li>

Fica assim.

No primeiro caso é como se você estive atribuindo os valores. Já no segundo é especificado que queremos imprimir na tela as informações.

Espero ter ajudado.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software