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

No arquivo produto-lista.php é apresentando somente o 1º produto (posição 0) os demais produtos não são exibidos, estou usando o PHP v.7.2.3 Podem me ajudar?

produto-lista.php

<!DOCTYPE html>
<?php require_once("cabecalho.php"); ?>
<?php require_once("banco-produto.php") ?>
<?php require_once("logica-usuario.php"); ?>
<?php verificaUsuario(); ?>
<div class="row">
    <div class="col-sm-12">
        <div class="panel panel-default">
            <div class="panel-heading">
                <h3 class="panel-title">Lista de Produtos</h3>
            </div>
            <div class="panel-body">
                <!-- Table -->
                <div class="table-responsive">
                    <table class="table table-hover table-striped">
                        <thead>
                            <tr>
                                <th>Produto</th>
                                <th>Preço</th>
                                <th>Descrição</th>
                                <th>Categoria</th>
                                <th>#</th>
                            </tr>
                        </thead>
                        <tbody>
                            <?php
                            $produtos = listaProdutos($conexao);
                            var_dump($produtos);
                            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>
                                    <form action="remove-produto.php" method="POST" class="acao_form">
                                        <input type="hidden" name="id" value="<?= $produto->id ?>">
                                        <button class="btn btn-link" title="Excluir produto"><span class="glyphicon glyphicon-trash text-danger" aria-hidden="true"></span></button>
                                    </form>
                                    <a href="produto-alterar-formulario.php?id=<?=$produto->id ?>" class="btn btn-link"><span class="glyphicon glyphicon-pencil text-primary" aria-hidden="true"></a>
                                    <!--
                                    <form action="produto-alterar-formulario.php" method="POST" class="acao_form">
                                        <input type="hidden" name="id" value="<?= $produto['id']?>">
                                        <button class="btn btn-link" title="Alterar Produto"><span class="glyphicon glyphicon-pencil text-primary" aria-hidden="true"></span></button>
                                    </form>-->
                                </td>
                            </tr>
                            <?php } ?>
                        </tbody>
                    </table>
                </div><!-- /.Table -->
            </div>
        </div>
    </div>
</div>
<?php include("rodape.php") ?>

Resultado var_dump($produtos) na lista de produtos

C:\xampp\htdocs\loja\produto-lista.php:39:
array (size=3)
  0 => 
    object(Produto)[4]
      public 'id' => string '1' (length=1)
      public 'nome' => string 'Livro de PHP da Casa do Codigo completo' (length=39)
      public 'preco' => string '39.90' (length=5)
      public 'descricao' => string 'Desenvolvimento web com PHP e MySQL' (length=35)
      public 'categoria' => 
        object(Categoria)[3]
          public 'id' => null
          public 'nome' => string 'Educacao' (length=8)
      public 'usado' => string '0' (length=1)
  1 => 
    object(Produto)[6]
      public 'id' => string '2' (length=1)
      public 'nome' => string 'Livro de HTML da Casa do Codigo' (length=31)
      public 'preco' => string '39.90' (length=5)
      public 'descricao' => string 'HTML5 e CSS3 - Domine a web do futuro' (length=37)
      public 'categoria' => 
        object(Categoria)[5]
          public 'id' => null
          public 'nome' => string 'Educacao' (length=8)
      public 'usado' => string '0' (length=1)
  2 => 
    object(Prod
3 respostas
solução!

Oi Mayro, tudo bem? Fecha a tag span que exibe o ícone do botão de editar produtos:

<span class="glyphicon glyphicon-pencil text-primary" aria-hidden="true">

Acho que isso tá gerando uma má interpretação do HTML fazendo com que a lista não seja exibida corretamente depois do primeiro resultado.

Veja também que seu comentário no código HTML, não invalida a execução do PHP dentro dele. Mas também isso não seja problema já que não vai ser exibido. Contudo é sempre bom ter cuidado.

Bom dia Wanderson, Obrigado pela ajuda, era tag span mesmo, quando fechei exibiu todos os produtos.

Ótimo Mayro! Qualquer coisa, estamos aqui! :)