MVC - Imbrication de foreach() CONTROLEUR / Affichage VUE

autumn
Invité n'ayant pas de compte PHPfrance

14 févr. 2012, 11:31

Bonjour à tous.
Je me suis mis à développer en un petit site en MVC, je ne suis pas un expert en la matière et j'ai donc un problème pour afficher dans la vue des variables que j'ai initialisé dans le contrôleur. Problème lié à une imbrication de foreach().

Voici le code du contrôleur :
//ON VA CHERCHER LES PRODUITS D'UNE CATÉGORIE
	$produits = getProduitsByCategorie($categorie);
	
	foreach($produits as $produit)
	{
		$idProduit = htmlspecialchars($produit['idProduit']);
		$libelle = htmlspecialchars($produit['libelle']);
		$description = nl2br(htmlspecialchars($produit['description']));
		$idMarque = htmlspecialchars($produit['idMarque']);
		
		//ON VA CHERCHER LES DIFFERENTS ARTICLES DE CHAQUE PRODUIT
		$articles = getArticlesByProduit($idProduit);

		foreach($articles as $article)
		{
			$idArticle = htmlspecialchars($article['idArticle']);
			$prixUnitaire = htmlspecialchars($article['prixUnitaire']); //Ajouter TTC
			$cheminImage = htmlspecialchars($article['cheminImage']);
			$stock = htmlspecialchars($article['stock']);
		}
	}

	include_once("vue/boutique.php");
L'idée c'est de pouvoir récupérer pour chaque produit, les articles y correspondant (en fait ce sont des modèles du produit).
Si je place des echo dans les 2 boucles, je constate que cela fonctionne...

Mais mon souci est lié à l'affichage dans la vue, j'ai fait plusieurs essais... En répétant le même schéma avec 2 foreach imbriqués, mais je n'arrive pas à générer l'affichage voulu. c'est surement débile mais après moultes tentatives et recherches je me tourne vers la communauté PHP.
J'espère avoir été assez clair..
Quelqu'un à mon secours? Merci d'avance!

ViPHP
ViPHP | 2577 Messages

14 févr. 2012, 12:56

Je te comprends pas ce que tu veux faire, mais à la sortie de tes boucles tu te retrouves avec la dernière valeur traitée : le dernier produit et le dernier article.

Une possibilité est de stocker les informations dans des tableaux pour ne pas les écraser.