Ir ao conteúdo
  • Cadastre-se
Beorlegui

PHP Mostrar nome ao invés do Id

Posts recomendados

Como retornar o nome da categoria do meu blog?
Quando eu coloco <?php echo $linhas['categoria_id']; ?>, aparece o id da categoria.

Mas quando eu coloco <?php echo $linhas['categoria']; ?>, aparece o seguinte erro: 
NOTICE: UNDEFINED INDEX: CATEGORIA IN C:\XAMPP\HTDOCS\BLOG\INDEX.PHP ON LINE 259.

Meu banco de dados possui duas tabelas:
Posts                            Categorias

id                                          id

titulo_principal                   categoria

data

descricao

categoria_id

 

 

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?
Obrigada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Beorlegui Por onde é o seu sistema?  worpress? 

Aparentemente, o erro é de índice inexistente. 

 

Eu particularmente, faço sempre minhas instruções SQL de forma completa para evitar erros e inconsistências.

Certifique-se de que o índice referente à chave estrangeira existe na tabela posts.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@DiF Olá.
Eu não mexo com wordpress.
Estou usando o xampp (nem sei se o wordpress usa o xampp).

Eu não sei se o meu select está certo. Mas na minha tabela posts possui os seguintes campos (id, data, descricao, categoria_id, texto_inicial, texto_secundario, titulo_principal, imagem1, imagem1_dir, imagem2, imagem2_dir).
O erro que mostra, se refere somente a UNDEFINED INDEX: CATEGORIA.
Na foto que mandei, mostra o id normalmente, mas quando eu coloco <?php echo $linhas['categoria']; ?> é que dá o erro. Acho que estou errando em alguma coisa no select talvez, mas não sei exatamente onde.

FOTO.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Beorlegui 

O erro de undedined index indica que não há valor algum nessa variável. 

Acredito que o problema esteja no SQL mesmo como eu havia dito.

 

Você tem que testar a instrução SQL direto no phpmyadmin e ver o que retorna.

 

O categoria_id da tabela posts é uma chave estrangeira. ele precisa ser do tipo INT e ter o índice dele na tabela.

 

Você quer trazer o nome da categoria, o titulo do post, a data e a descrição certo?

 

SELECT Posts.titulo_principal, 
       Posts.data, 
       Posts.descricao,
       Categorias.categoria
FROM Posts
INNER JOIN Categorias ON Categorias.id = Posts.categoria_id

Deste jeito é a forma "completa" onde é indicado a tabela e o campo.

 

Se tiver o relacionamento  1:N e ter o índice correto, vai funcionar.

Senão, recomendo que veja este vídeo na qual ensino como fazer relacionamentos de tabelas no phpmyadmin.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Junte-se à conversa

Você pode postar agora e cadastrar-se depois. Se você tem uma conta, faça o login para postar.

Visitante
Responder

×   Você colou conteúdo com formatação.   Restore formatting

  Só é possível ter até 75 emoticons.

×   O link foi automaticamente convertido para mostrar o conteúdo.   Clique aqui para mostrá-lo como link comum

×   Seu texto anterior foi restaurado.   Limpar o editor

×   You cannot paste images directly. Upload or insert images from URL.






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: minicurso “Como ganhar dinheiro montando computadores”

Gabriel TorresGabriel Torres, fundador e editor executivo do Clube do Hardware, acaba de lançar um minicurso totalmente gratuito: "Como ganhar dinheiro montando computadores".

Você aprenderá sobre o quanto pode ganhar, como cobrar, como lidar com a concorrência, como se tornar um profissional altamente qualificado e muito mais!

Inscreva-se agora!