1
resposta

Incluir retorno do banco em página html

Boa noite!

Tentei evoluir um pouco o aprendizado do curso, e estou tentando incluir o resultado da consulta em uma tag td de uma página html, mas até agora sem sucesso.

a minha consulta retorna todos os dados:

while($resultadoQuery = $stmt->fetch( PDO::FETCH_ASSOC)){
            $relatorio[] = new Relatorio (
            $resultadoQuery['cMat'],
            $resultadoQuery['cDescPr'],
            $resultadoQuery['cDescSubPr'],
            $resultadoQuery['cVlr'] );
       }
        return $relatorio;

Na página, instanciei assim as classes:

$consulta = new Consultas();
$relatorio = $consulta->todaTabela();

E no td da página:
     < td > < ? php foreach ($relatorio as $consulta):
                      { echo $consulta['cMatricula']; }
                  endforeach ; ? > < / td >
Mas me é apresentada a mensagem abaixo:

Fatal error: Uncaught Error: Cannot use object of type Relatorio as array in E:\Flavio S Costa\Alura\php\pdo\index.php

Como devo proceder?

1 resposta

Olá! Tudo bem?

Gostaria de pedir desculpas pela demora em responder o seu tópico.

Pelo erro apresentado, parece que você está tentando utilizar um objeto como se fosse um array. Para resolver esse problema, você precisa acessar as propriedades do objeto utilizando o operador "->".

Tente substituir a linha:

{ echo $consulta['cMatricula']; }

Por:

{ echo $consulta->cMatricula; }

Dessa forma, você estará acessando a propriedade "cMatricula" do objeto "Relatorio".

Espero ter ajudado e bons estudos!

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