Bonsoir à tous,

Donc nous savons que :

foreach($categories as $category){
          echo "$category['name']";
}

Permet de lister et d'afficher toutes les catégories d'un site.

La question est, comment feriez-vous pour récupérer un nom d'une catégorie d'un article pour l'afficher en dessous de celui-ci ?

Ma petite idée, en sachant que les articles et les catégories seraient stockés dans une base de donnée, peut-être faudrait-il récupérer l'id de la catégorie de l'article pour trouver son nom. Suis-je dans la bonne voie ? :D

Merci à tous ;)

5 réponses


shinix
Réponse acceptée

@humanoid89 : oui tu fais une jointure de la table catégorie dans celui des articles donc c'est tout à fait la méthode à effectuer ;)

Oui tu es sûr la bonne voie. Il te faut renseigner l'id de la catégorie liée à l'article dans la table articles pour ensuite faire une jointure entre tes tables articles et catégories afin de récupérer les infos dont tu as besoinRien de bien sorcier en somme :)

Salut humanoid89,

en effet, dans ta table des articles, il devrait y avoir un champ category_id avec lequel tu peux retrouver le nom de la catégorie...
Et tu peux récupérer le tout en une requête du style :

SELECT * FROM category, article 
WHERE article.id = 1234
AND category.id = article.category_id 

Donc tu es sur la bonne piste !

Merci beaucoup pour vos réponse, ma question n'était que théorique donc je prends en compte ta réponse SimonAndGarfunkel, mais en lisant la réponse de Cyprien G., j'ai penser à ceci :

$articles = $db->query("SELECT categories.name as category_name FROM articles LEFT JOIN categories ON categorie.id = articles.category_id");

Correct ? :)

Merci beaucoup pour vos réponse, c'est plus claire maintenant :)