Bonjour, je veux simplement afficher des données de ma bd en utilisant des procédures stockées et pdo

Si JE N'UTILISE PAS LES PROCEDURES STOCKEES ET PDO => aucun problème pour imbriquer 2 While

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
$sql = "SELECT * FROM fiche_travail WHERE fitr_cloturer = 't'";
$result = mysql_query ($sql, $link);
 
while($myrow=mysql_fetch_array($result))
{
echo " Fiche numéro $myrow[idfichetravail] du $jour-$mois-$annee pour le v&eacutehicule ";	
$sql2 = "SELECT * FROM vehicule WHERE idvehicule = '$myrow[idvehicule]'";
$result2 = mysql_query ($sql2, $link);
while($myrow2=mysql_fetch_array($result2))
	{
	echo "dont l'id est $myrow2[idvehicule]";
	}
}
Ce qui donne le bon résultat suivant :

Fiche numéro 4 du 04-01-2010 dont l'id est 1
Fiche numéro 5 du 05-01-2010 dont l'id est 2
Fiche numéro 6 du 06-01-2010 dont l'id est 2
Fiche numéro 7 du 07-01-2010 dont l'id est 3
Maintenant, je remplace mes requêtes sql "classique" par le pdo comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$stmt = $conn->prepare("CALL FichesTraitees()");
$stmt->execute();
while($myrow = $stmt->fetch(PDO::FETCH_BOTH))
		{
			echo " Fiche numéro $myrow[idfichetravail] du $jour-$mois-$annee pour le v&eacutehicule ";	
			$idvehicule="$myrow[idvehicule]";
			$stmt2 = $conn->prepare("CALL OneVehiculeById(?)");	
			$stmt2->bindParam(1,$idvehicule);
			$stmt2->execute();
			while($myrow2 = $stmt2->fetch(PDO::FETCH_BOTH))
				{
					echo "dont l'id est $myrow2[idvehicule]";
				}
		}
Cette fois, le résultat est le suivant :

Fiche numéro 4 du 04-01-2010 pour le véhicule
Fiche numéro 5 du 05-01-2010 pour le véhicule dont l'id est 2
Fiche numéro 6 du 06-01-2010 pour le véhicule dont l'id est 2
Fiche numéro 7 du 07-01-2010 pour le véhicule dont l'id est 3
La deuxième boucle n'est pas prise en compte lors du premier enregistrement
Et si je met une troisième boucle d'affichage (donc 3 éléments à afficher par ligne)
La première ligne : 1 élément s'affiche
La deuxième ligne : 2 éléments s'affiche
Toutes les autres lignes : tout est bon !!

Merci pour votre aide