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

Mostrar nome ao invés do Id

Como retornar o nome da categoria do meu blog? Quando eu coloco o código abaixo, aparece o id da categoria:

<?php echo $linhas['categoria_id']; ?>

Mas quando eu coloco esse outro código, aparece o seguinte erro: NOTICE: UNDEFINED INDEX: CATEGORIA IN C:\XAMPP\HTDOCS\BLOG\INDEX.PHP ON LINE 259.

<?php echo $linhas['categoria']; ?>

Meu banco de dados possui duas tabelas: Posts (id, titulo_principal, data, descricao, categoria_id) e Categorias(id, categoria).

Já o meu select está assim: SELECT a.id, data, descricao, b.categoria, texto_inicial, texto_secundario, titulo_principal, imagem1, imagem1_dir, imagem2, imagem2_dir FROM posts as a inner join categorias as b on a.categoria_id = b.id";

Alguém pode me ajudar como fazer para aparecer o nome da categoria ao invés do Id? Obrigado!

5 respostas

Olá André Luis,

Pesquisei a sua dúvida, https://www.homehost.com.br/blog/tutoriais/php/notice-undefined-index-php/

Talvez te ajude.

Olá André, tudo bem? Conseguiu resolver o seu problema?

Olá Henrique, não consegui solucionar não. Eu mudei o meu select para esse e estou usando DO WHILE:

$consulta = "SELECT * FROM posts ORDER BY id DESC";
$resultado = mysql_query($consulta, $conn) or die(mysqli_error());
$linhas = mysql_fetch_assoc($resultado);

Mas a categoria ainda não aparece. Estou fazendo algo errado.

solução!

Olá André Luis,

Voltando o código que estava quando você fez a primeira pergunta, tente colocar no select b.categoria as categoria

SELECT a.id, data, descricao, b.categoria as categoria, texto_inicial, texto_secundario, titulo_principal, imagem1, imagem1_dir, imagem2, imagem2_dir FROM posts as a inner join categorias as b on a.categoria_id = b.id"

Provavelmente dará certo, pois o nome do campo estará igual do código PHP.

Olá Henrique. Obrigado pela ajuda. Deu certinho.