Bonjour,
J'ai besoin d'une variable deux fois pour me servir de paramètre pour l'appel d'une fonction et ensuite pour parcourir cette variable (qui est un PDOSTatement donc d'après ce que je sais un tableau associatif).
Problème cela ne marche pas, comme si l'utilisation la première fois de la variable la vidait de son contenu et que je ne pouvais plus la parcourir pour l'affichage de ses données.

La méthode qui me permet de récupérer mon objet PDOSTAtement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
<?php
public function recupSujet(ConnexionPDO $pdo, $IdSsCat)
	{
		$sql = "SELECT * FROM sujet WHERE Id_sscat=".$IdSsCat;
		$resultat = $pdo->getDBH()->query($sql);
		return $resultat;
	}?>
la deuxième méthode qui sera appellée grace au résultat obtenu de la première méthode :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
<?php
public function recupAuteurSujet($pdo, $listeUtilisateur)
	{
		$resultat = array();
		while($liste = $listeUtilisateur->fetch())
		{
			$sql = "SELECT * FROM utilisateur WHERE Id_utilisateur=".$liste['Id_utilisateur'];
			$tutu = $pdo->getDBH()->query($sql);
			$resultat[] = $tutu;	//le tableau commence à zero
		}
		return $resultat;
	}?>
Les appels de mes méthodes stockées dans mes variables.
La variable que je n'arrive pas à utiliser deux fois est $recupSujet
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
<?php
//récupère la liste de tous les sujets d'une sous-catégorie données
$recupSujet = TraitementFactory::getInstance()->recupSujet($SousCategorie);
//récupère la liste de tous les auteurs des sujets (à partir de l'id des auteurs stokés dans la table sujet)
$recupAuteur = TraitementFactory::getInstance()->recupAuteurSujet($recupSujet);	//retourne un array
?>
Le script qui utilise ma variable :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
while($affichageSujet = $recupSujet->fetch())
	{
		echo "test1";
 
		echo "test2";
		foreach($recupAuteur as $key => $value)	//on récupère ce qu'il y a dans l'array => un PDOStatement
		{
			echo "test3";
			while($auteur = $value->fetch())	//on affiche chaque auteur de sujet
			{
				echo "test4";	
?>	
			<tr>
				<td width="4%">img</td><td width="56%"><?php echo $affichageSujet['titre_sujet']; ?></td><td width="7%">test</td>
				<td width="10%"><?php echo $auteur['pseudo']?></td>
				<td width="8%">test</td><td width="15%">test</td>
			</tr>
<?php
			}
		}
	}	?>
Merci d'avance pour votre réponse.