Fórum Index dos Funcionários não aparece no HTML do projeto #589591

08/12/2017

0

PHP

Bom dia pessoal, tudo bem?
Estou aprendendo PHP e utilizei os objetos do projeto do curso Como implementar um CRUD em PHP com MVC para cadastrar Funcionários.

Todos os cadastros estão OK, mas o index dos Funcionários não aparecem no HTML, os dados dos funcionários cadastrados, a quantidade de linhas é referente a quantidade de registros no BD, mas os dados não aparecem no HTML.

Coloquei um contador de registros para testar se os dados estão no Array, e estão, mas quando mando na tabela eles não aparece. Veja o index.php a seguir:
<div class="container">
    <div class="row">
    <br>
    <div class="col-md-12">
        <a href="http://<?php echo APP_HOST; ?>/funcionario/cadastro" class="btn btn-success btn-sm">Adicionar...</a>
        <hr>
    </div>
    
    <div class="col-md-12">
        <?php if($Sessao::retornaMensagem()){ ?>
            <div class="alert alert-warning" role="alert">
                <a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>
                <?php echo $Sessao::retornaMensagem(); ?>
            </div>
        <?php } ?>

        <?php
            if(!count($viewVar['listaFuncionarios'])){
        ?>
            <div class="alert alert-info" role="alert">Nenhum funcionário encontrado...</div>
        <?php
            } else {
        ?>
            
            <div class="table-responsive">
                <table class="table table-bordered table-hover">
                    <tr>
                        <td class="info">Nome</td>
                        <td class="info">Sobrenome</td>
                        <td class="info">Nascimento</td>
                        <td class="info">Data</td>
                        <td class="info">Cpf</td>
                        <td class="info">Opções...</td>
                    </tr>
                    <?php
                        foreach($viewVar['listaFuncionarios'] as $funcionario) {
                    ?>
                        <tr>
                            <td><?php echo $funcionario->getNome(); ?></td>
                            <td><?php echo $funcionario->getSobrenome(); ?></td>
                            <td><?php echo implode("-", array_reverse(explode("/",$funcionario->getNascimento()))); ?></td>
                            <td><?php echo $funcionario->getNascimentoData()->format('d/m/Y'); ?></td>
                            <td><?php echo $funcionario->getCpf(); ?></td>
                            <td>
                                <a href="http://<?php echo APP_HOST; ?>/funcionario/cadastro" class="btn btn-success btn-sm">Adicionar</a>
                                <a href="http://<?php echo APP_HOST; ?>/funcionario/edicao/<?php echo $funcionario->getCodigo(); ?>" class="btn btn-info btn-sm">Editar</a>
                                <a href="http://<?php echo APP_HOST; ?>/funcionario/exclusao/<?php echo $funcionario->getCodigo(); ?>" class="btn btn-danger btn-sm">Excluir</a>
                            </td>
                        </tr>
                    <?php                        
                        }
                    ?>
                </table>
            </div>
        <?php
            $qtdRegistro = count($viewVar['listaFuncionarios']);    
            }
        ?>
        <div>
            <strong><p>Quantidade de funcionário(s) encontrado(s): <?php echo $qtdRegistro?></p></strong>
        </div>
    </div>
</div>
</div>

Essa dúvida foi gerada a partir de um comentário na aula View da lista de produtos - Como implementar um CRUD em PHP com MVC - Vídeo 9
Pabllo Cardoso

Pabllo Cardoso

Responder

Post mais votado

08/12/2017

Boa tarde Pabllo,

Antes de enviar para o HTML, tente dar um print_r nos dados que você esta enviando! Dessa forma você vai conseguir entender se o erro esta acontecendo ao receber essas informações (provavelmente na controller), ou se esta na chamada dentro da sua view!

Observei que você utilizou a função count do PHP aparentemente de forma incorreta, veja abaixo:

<?php
if(!count($viewVar['listaFuncionarios'])){
?>


Existe uma negação antes do seu count, porém, o retorno dessa função count é um valor númerico, que representa o tamanho do seu array, sendo assim, essa negação não faz sentido.

Verifica o código novamente, e qualquer coisa você posta aqui pra gente! =)

Pablo Carvalho

Pablo Carvalho
Responder

Gostei + 1

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar