Bonjour,
Je fais un petit projet avec une architecture MVC. j'ai une base de donnée avec une table recettes (id, titre, description etc...), pour tester j'ai une seule ligne dans la table.
Quand je vais insérer d'autres lignes dans la table je voudrais générer des cards Bootstrap.
Dans le model :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 function getAll() { $req = "Select titre, description from recettes"; $recettes = $this->bdd->query($req); $resultat = $recettes->fetch(PDO::FETCH_ASSOC); return $resultat; }
Si j'utilise ce code dans la vue je n'ai pas de souci, j'ai une seule fois l'affichage de ma ligne:
Mon problème est avec ce code(il boucle deux fois la même ligne donc j'ai un doublon) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <?php $recettes = $recettesController->getAllRecettes(); foreach($recettes as $rec) { echo $rec; }
Quand je fais un
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <?php foreach($recettes as $rec) :?> <div class="col-md-3 mb-3"> <div class="card"> <div class="card-body"> <img class="card-img-top" src="..." alt="Card image cap"> <h5 class="card-title"><?= $recettes["titre"]?></h5> <p class="card-text"><?= $recettes["description"]?> </p> <a href="#" class="btn btn-primary">lire</a> </div> </div> </div> <?php endforeach ; ?>j'ai bien une seul cle titre et une seule description. Je ne comprends pas pourquoi le premier code marche mais avec le deuxième j'ai ce doublon.
Code : Sélectionner tout - Visualiser dans une fenêtre à part var_dump($recettes)
Mon autre question est :quand j'aurais plusieurs lignes est ce que il faut utiliser fetchAll eu lieu de fetch?
merci beaucoup désolé si mon post est trop long et si mes termes dans l'explication ne sont pas exactes en informatique.
Partager