1
resposta

Problema ao tentar exibir uma lista

Olá amigo. Fiz o exercício para exibir a lista e está funcionando perfeitamente. Sempre faço o exercício com o proposto pelo curso e um a mais, da minha própria cabeça pra tentar treinar e fixar, porém no meu código está dando o seguinte erro:

Notice: Undefined index: tipo_atividade in C:\xampp\htdocs\atualizador\atualizador-beta.php on line 21

este é o código que estou fazendo para fixar o exercicio:

<?php

$conexao = mysqli_connect("localhost", "root", "", "bdteste");

function verificaVencidos($conexao){

$query = "select * from tbl_atividades where atualizado <> 'S'";
$lista_resultado = array();
$resultado = mysqli_query($conexao, $query);


while($pre_lista = mysqli_fetch_assoc($resultado)){
    array_push($lista_resultado, $pre_lista);
}
    return $lista_resultado;
}

$resultado = verificaVencidos($conexao);    
foreach($resultado as $p){ ?>

 tipo_atividade: <?= $p['tipo_atividade'] ?> 
 <?php 
}

está idêntico ao do curso, a única diferença é que não estou chamando em outro arquivo. Poderiam elucidar o que eu não entendi direito desse conteúdo?

1 resposta

Boa Daniel, ir um pouco além e aplicar os conteúdo com suas próprias ideias é excelente para fixação do conteúdo.

Parabéns.

Antes de comentar o erro, acho importante pontuar algumas boas práticas. Aqui:

$query = "select * from tbl_atividades where atualizado <> 'S'";

Parece que o nome da nossa tabela é tbl_atividades certo? O ideal é evitar o prefixo tbl_, já que pode ser um motivo de confusão caso você precise trabalhar esse projeto em equipe.

É sempre bom lembrar que quando escrevemos código devemos escrever pensando em como outro desenvolvedor leria e se seria intuitivo =)

Claro que o prefixo não é um crime e não impede a interpretação. É mais uma questão de boas práticas.

Agora, em relação ao erro:

Notice: Undefined index: tipo_atividade in C:\xampp\htdocs\atualizador\atualizador-beta.php on line 21

Aqui, o interpretador do PHP está nos dizendo que nessa linha:

 tipo_atividade: <?= $p['tipo_atividade'] ?> 

o array $p não possui o indice tipo_atividade. Essa coluna existe no seu banco de dados?

A variável $p, por sua vez, é declarada em cada loop do for que percorre o resultado:

$resultado = verificaVencidos($conexao);    
foreach($resultado as $p){ ?>

 tipo_atividade: <?= $p['tipo_atividade'] ?> 
 <?php 
}

Para ficar mais concreto, é bom a gente verificar tudo que existe dentro da variável $p. Isso pode ser feito com o var_dump:

$resultado = verificaVencidos($conexao);    
var_dump($resultado);
foreach($resultado as $p){ ?>
 tipo_atividade: <?= $p['tipo_atividade'] ?> 
 <?php 
}

Roda o script com o var_dump e compartilha aqui com a gente o resultado =)

Abraço