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

id aparecendo 1

Galera quando lista os itens da loja tudo aparece correto, exceto os id que fazem funcionar os botões "alterar" e "remover". Quando olhei no código todos os id's aparecem sendo 1. Não consegui achar o erro.

Quando eu faço um var_dump antes do foreach as ids aparecem normal, as ids corretas, mas quando listo dentro do foreach as ids aparecem como sendo 1.

<?php
       require_once("cabecalho.php");
       require_once("banco-produto.php");
    require_once("logica-usuario.php");

    verificaUsuario();

    $produtos = listaProdutos($conexao);
?>    
    <table class="table table-striped table-bordered">
<?php
    foreach($produtos as $produto):
?>
        <tr>
            <td><?= $produto->getNome() ?></td>
            <td><?= $produto->getPreco() ?></td>
            <td><?= $produto->precoComDesconto() ?></td>
            <td><?=substr( $produto->getDescricao(), 0, 40) ?></td>
            <td><?= $produto->getCategoria()->getNome() ?></td>
            <td><a href="produto-altera-formulario.php?id=<?= $produto->getId() ?>" class="btn btn-primary">alterar</a></td>
            <td>
                    <form name="remover" action="remove-produto.php" method="post">
                            <input type="hidden" value="<?= $produto->getId() ?>" name="id" />
                            <button class="btn btn-danger">remover</button>
                    </form>
        </tr>
<?php        
    endforeach;
?>
    </table>        
<?php       
    include("rodape.php");
?>
2 respostas
solução!

Problema resolvido. O erro estava na classe Produto. Faltou o >

ERRADO:

public function getId() {
    return $this-id;
}

Oi Jehud, tudo bem? Você poderia colar o código da classe Produto aqui pra gente ver aqui o que pode ser?