salut à tous
J'apprends l'utilisation de Smarty et me retrouve confronté à un problème que je n'arrive pas à résoudre, depuis quelques jours.
Pour faire bref je recupere, via une requete, des informations qui sont stockées dans tableau associatif "tableau1" et ce tableau1 est, au fur et à mesure d'une boucle, contenu dans un autre tableau associatif "tableau2".
Ce qui donne schematiquement quelque chose comme ca(d'après un print_r) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Array ( [0] => Array ( [title] => "blabla" [author]=> "machin") [1] = > Array( [title] => "blablabla" [author] => "truc") ... )[/B]
books.php
books.tpl
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
23
24
25
26
27
28
29
30
31 class affich_books { private $dataQuery = array(); protected $tableau1 = array(); public $title = array(); public $author = array(); public $tableau2 = array(); function __construct() { //requete SQL qui recupère les données $this->dataQuery = mysql(...); } public function affichage() { while($row = mysql_fetch_assoc($this->dataQuery)) { $tableau1['title'] = $row['title']; $tableau1['author'] = $row['author']; $tableau2[] = $tableau1; } } }//fin class affich_books $affichBooks = new affich_books(); $affichBooks->affichage(); $smarty = new Smarty(); $smarty->assign("affiche", $affichBooks); $smarty->display('books.tpl');
Je sais bien qu'il y a plus simple coté PHP mais je me suis appercu par hasard que je n'arrivais pas à afficher les informations dans le fichier tpl, en procédant de cette manière. Je n'arrive pas à utiliser correctement les foreach malgré les cours que je peux lire sur le net.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <table> {foreach key=K item=ind from=$affiche->tableau2} {foreach key=title item=$affiche->tableau2 from=$ind name=ind} <tr> <td>{$smarty.foreach.ind.iteration}</</td> <td>{$affiche->bigTabb.title}</td> </tr> {/foreach} {/foreach} </table>
Est ce que quelqu'un voit comment utiliser l'objet dans les foreach?
Partager