Doublon dans un while ?

Eléphant du PHP | 218 Messages

30 juin 2016, 15:37

Bonjour à tous, je souhaiterais utiliser une requête avec jointure dans un while.
Mais le problème qui se pause est que le résultat de mon titre (1 résultat) est dupliqué dans mon while à chaques nouveaux résultats de texte (3 résultats).
$sql_articles = $bdd->prepare("
						SELECT
							A.titre AS titre,
							B.texte AS texte
						FROM articles A
						JOIN articles_textes B
						ON A.id = B.id_article
						WHERE A.id = :id
						");
$sql_articles->execute(array(
						'id' => $id
						));
$sql_articles->setFetchMode(PDO::FETCH_ASSOC);




while( $articles = $sql_articles->fetch() ) {

	echo $articles['titre'].'<br />';	

	echo $articles['texte'].'<br />';
	
}
Ce qui m'affiche :


Verre à Whisky gravé
Texte ligne 1
Verre à Whisky gravé
Texte ligne 2
Verre à Whisky gravé
Texte ligne 3


Hors je souhaiterais que cela affiche :


Verre à Whisky gravé
Texte ligne 1
Texte ligne 2
Texte ligne 3


Est-ce possible avec une jointure svp ?
Cadeaux personnalisés pour toute la famille :
https://cadeauxplaisir.com/

Mammouth du PHP | 2703 Messages

30 juin 2016, 15:47

c'est pas un problème de jointure, mais d'affichage à partir du résultat.
si
echo $articles['titre'].'<br />';
n'est exécuté qu'une seule fois, alors le résultat sera celui escompté.

Eléphant du PHP | 218 Messages

30 juin 2016, 16:43

Salut merci pour ton aide j'ai fais comme ceci ce qui fonctionne et me semble être ce que tu me conseillait ?
$article = '';
while( $articles = $sql_articles->fetch() ) {

	if ($articles['titre'] != $article) { 
               echo $articles['titre'].'<br />'; 
              $article = $articles['titre'];
        }

}
Cadeaux personnalisés pour toute la famille :
https://cadeauxplaisir.com/