Boas,
Não sei se alguém sabe mais ou menos como funciona o wordpress com aquelas funções the_post(), the tile(), get_category() etc.
A minha pergunta é se eu quiser fazer o meu próprio wordpress (PHP+MySQL), quando chegar à altura de mostrar um post vou necessitar de informação de várias tabelas, a questão que se coloca é como fazê-lo...
Supondo que há 3 tabelas (chave estrageira dentro de parêntesis)
NOTA o sql apresentado é apenas um esboço...
Opção 1
-----------------------------------------
Fazer um mega select/join:
SELECT * FROM POSTS, CATEGORIA.nome_da_categoria, COMENTARIOS.texto, COMENTARIOS.autor OUTER JOIN CATEGORIA WHERE POST.id_categoria = CATEGORIA.id_categoria OUTER JOIN COMENTARIOS WHERE POST.id_post = COMENTARIO.id_post
Opção 2
-----------------------------------------
Fazer separadamente utilizando funções:
SELECT * FROM POSTS e meter o resultado na função get_posts()
SELECT nome_da_cat FROM CATEGORIAS WHERE CATEGORIAS.id_categoria = POSTS.id_categoria e meter o resultado na função get_cats()
SELECT texto_do_comentario FROM COMENTARIOS WHERE COMENTARIOS.id_post = ... e meter o resultado na função get_posts()
Não sei se me fiz entender, provavelmente isto é uma pergunta sem sentido tendo em conta para que serve um SGBD como o MySql.
Como não tenho experiência com bases de dados queria saber como retirar informação de várias tabelas:
Com uma só query utilizando joins? ou separar mais as coisas...
Se há alguém com experiência em fazer um blog em PHP/MySql que diga de sua justiça.
Não sei se alguém sabe mais ou menos como funciona o wordpress com aquelas funções the_post(), the tile(), get_category() etc.
A minha pergunta é se eu quiser fazer o meu próprio wordpress (PHP+MySQL), quando chegar à altura de mostrar um post vou necessitar de informação de várias tabelas, a questão que se coloca é como fazê-lo...
Supondo que há 3 tabelas (chave estrageira dentro de parêntesis)
- POSTS ( id_categoria)
- CATEGORIA
- COMENTARIOS (id_post)
NOTA o sql apresentado é apenas um esboço...
Opção 1
-----------------------------------------
Fazer um mega select/join:
SELECT * FROM POSTS, CATEGORIA.nome_da_categoria, COMENTARIOS.texto, COMENTARIOS.autor OUTER JOIN CATEGORIA WHERE POST.id_categoria = CATEGORIA.id_categoria OUTER JOIN COMENTARIOS WHERE POST.id_post = COMENTARIO.id_post
Opção 2
-----------------------------------------
Fazer separadamente utilizando funções:
SELECT * FROM POSTS e meter o resultado na função get_posts()
SELECT nome_da_cat FROM CATEGORIAS WHERE CATEGORIAS.id_categoria = POSTS.id_categoria e meter o resultado na função get_cats()
SELECT texto_do_comentario FROM COMENTARIOS WHERE COMENTARIOS.id_post = ... e meter o resultado na função get_posts()
Não sei se me fiz entender, provavelmente isto é uma pergunta sem sentido tendo em conta para que serve um SGBD como o MySql.
Como não tenho experiência com bases de dados queria saber como retirar informação de várias tabelas:
Com uma só query utilizando joins? ou separar mais as coisas...
Se há alguém com experiência em fazer um blog em PHP/MySql que diga de sua justiça.
Última edição: