Bonjour,

J'ai une requête SQL, composée de jointures, qui me retourne trois résultats :

Goncourt | Le Sermon sur la chute de Rome
Goncourt | L'Art français de la guerre
Goncourt | La Carte et le territoire
Contrairement aux apparences, 'Goncourt' est un champ unique dans une table 'prixlitteraires', et les titres sont dans une table 'titres', je lie les deux par une jointure.

Je souhaiterais afficher quelque chose comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
<h1>Prix : Goncourt</h1>
<ul>
<li>Le Sermon sur la chute de Rome</li>
<li>L'Art français de la guerre</li>
<li>La Carte et le territoire</li>
</ul>
Pour lister les titres, je passe par une boucle :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
echo '<ul>';
while($data = $r->fetch())
{
     echo '<li>' . $data['titre'] . '</li>';
}
echo '</ul>';
Mais comment faire pour "isoler" le champ Goncourt ? En le prenant dans n'importe quelle ligne.

Si j'utilise current($r->fetch()) ou encore $r->fetchColumn(), ça passe au résultat suivant et dans la liste je n'ai plus que les deux derniers titres (le premier ayant été "épuisé" avec la fonction current() ou fetchColumn()).

Quelqu'un aurait une solution simple, si possible sans faire de deuxième requête, et sans utiliser fetchAll() ?

Merci bien d'avance !