Explode : récupérer valeurs champs suite requête
Bonjour,
J'ai une base de données MYSQL qui répertorie mes livres et qui comporte plusieurs tables dont les suivantes :
- 1 table LIVRE comportant notamment comme champs : ID_LIVRE et TITRE
- 1 table CATEGORIE comportant comme champs : ID_CATEGORIE et NOM_CATEGORIE (c-a-d roman, document, essais etc)
- 1 table CLASSIFIE comportant comme champs : ID_LIVRE et ID_CATEGORIE
- 1 table GENRE comportant comme champs : ID_GENRE et NOM_GENRE (c-a-d thriller, polar, SF etc)
- 1 table THEMATISE comportant comme champs : ID_LIVRE et ID_GENRE
Pour avoir des lignes de résultat du style,
titre categories genres
-------------------------------------------------------------------
Titre 1 Categorie 2|Categorie 4 Genre 1|Genre 3
j'utilise dans ma requête GROUP_CONCAT :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| <?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=bibliosql', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
$reponse = $bdd->query('SELECT L.TITRE AS titre,
GROUP_CONCAT(DISTINCT C.NOM_CATEGORIE SEPARATOR '|') AS categories,
GROUP_CONCAT(DISTINCT G.NOM_GENRE SEPARATOR '|') AS genres
FROM LIVRE L
INNER JOIN CLASSIFIE A
ON A.ID_LIVRE = L.ID_LIVRE
INNER JOIN CATEGORIE C
ON A.ID_CATEGORIE = C.ID_CATEGORIE
INNER JOIN THEMATISE T
ON T.ID_LIVRE=L.ID_LIVRE
INNER JOIN GENRE G
ON G.ID_GENRE = T.ID_GENRE
GROUP BY L.id_livre
ORDER BY L.TITRE
LIMIT 0,500'); |
Voilà pour la partie SQL. Je coince sur la partie gestion de l'affichage en PHP.
1) Comment récupérer les différentes valeurs du champ TITRE ? Grâce à foreach ?
2) Concernant la récupération des différentes valeurs sur les champs NOM_CATEGORIE et NOM_GENRE, je crois qu'il faut utiliser explode et foreach ?
Je précise que je suis un débutant n'ayant aucune pratique. Pouvez-vous m'aider à écrire le code permettant de gérer l'affichage souhaité ? Merci d'avance.