Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite =D
Tenho uma duvida, tabelas:
Tabela posts:
+-----------------------+
| id | nome | cats |
|------------------------+
| 1 | Teste | 1,2,3 |
+-----------------------+
Tabela cats:
+-----------------+
| id | nome |
|-------------------+
| 1 | Ação |
| 2 | Comédia |
| 3 | Aventura |
+-------------------+
Bom oquê eu queria é simples, porém não consigo achar uma forma de o fazer
Queria pegar o nome da categoria pelo campo 'cats' que tenho na tabela 'posts' e em seguida exbi-la, juntamente com o nome do posts e tals.. , tentei com INNER JOIN mas não consegui concluir, foi desta forma:
"SELECT * FROM posts INNER JOIN cats ON cats.id = posts.cats" // -> Daria errado !Depois tentei um foreach explodindo as virgulas ficando assim:
$exemplo = //Select da tabela 'posts';
foreach($exemplo as $key => $value):
$ex = explode(',', $exemplo['cats']);
/* $ex =
Array(
[0] => '1';
[1] => '2';
[2] => '3';
);
*/
$SELECT = "SELECT * FROM posts INNER JOIN cats ON cats.id = ?? WHERE cats.id = ??";Obrigado pela resposta =D mas agora me surgiu outra duvida, queria apenas saber se a maneira que fiz está correta:
$Cats = $PostUpdate->SelectParsee("SELECT * FROM s_posts INNER JOIN s_cats_post ON s_cats_post.id_post = s_posts.id INNER JOIN s_cats ON s_cats.id = s_cats_post.id_category");
foreach($Cats as $Value):
if($Value['id_post'] == $post['id']):
echo "[".$Value['name']."]";
endif; endforeach;
$post = Array de todas minhas postagens...
Vc podia incluir um WHERE em vez de fazer esse if
if($Value['id_post'] == $post['id'])
$PostUpdate->SelectParsee("SELECT * FROM `s_posts` INNER JOIN `s_cats_post` ON s_cats_post.id_post = s_posts.id INNER JOIN `s_cats` ON s_cats.id = s_cats_post.id_category WHERE s_posts.id = {$post['id']}");Era o quê eu pensei =D Muito obrigado sr.willian, até mais !
Essa modelagem está incorreta. Cada coluna deve representar um dado.
você deveria ter algo assim:
Tabela post:
+--------------+
| id | nome |
|--------------+
| 1 | Teste |
+--------------+Tabela category:
+-----------------+
| id | nome |
|-----------------+
| 1 | Ação |
| 2 | Comédia |
| 3 | Aventura |
+-----------------+Tabela post_category:
+-----------------------+
| id_post | id_category |
|-----------------------+
| 1 | 1 |
| 1 | 2 |
| 1 | 3 |
+-----------------------+Ai, agora sim temos uma modelagem normalizada