Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Templates > Smarty
Smarty Forum d'entraide sur le moteur de templates Smarty. Avant de poster -> FAQ Smarty et Cours Smarty
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/06/2006, 16h01   #1
Membre du Club
 
Avatar de Jarodd
 
Inscription : août 2005
Messages : 258
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 258
Points : 63
Points : 63
Par défaut Extraction bdd + actualisation

Bonjour,

J'ai commencé l'apprentissage de Smarty il y a quelques jours, je suis la doc pas-à-pas. Mais je suis bloqué à l'étape des sections, je trouve que la doc est imprécise à ce sujet.

Fichier index.php :
Code :
1
2
3
4
5
6
7
8
9
$rqt_membres = "SELECT * FROM MEMBRES";
	$rst_membres = mysql_query($rqt_membres);
	$cpt = 0;
	while ($donnees = mysql_fetch_array($rst_membres)) {
		$smarty->assign('membre_pseudo', $donnees['membre_pseudo']);
		$smarty->assign('$membre_telephone[$cpt]', '$donnees[\'membre_telephone\']');
		$cpt++;
		$smarty->assign('cpt', $cpt);
	}
Fichier index.tpl :

Code X :
1
2
3
4
5
6
Compteur : {$cpt}<br /><br />
<strong>Membres</strong> : <br />
{section name=membres loop=$cpt}
	Pseudo : {$membre_pseudo}<br />
{/section}

Je n'ai pas réussi à aller plus loin. A cette étape, j'ai 2 enregistrements dans ma bss, $cpt affiche bien 2. Mais le dernier membre s'affiche 2 fois, je suppose que cela n'affiche que le membre n]2 et pas le n°1. J'ai aussi essayé dans la boucle section :
Citation:
Pseudo : {$cpt[membres]}<br />
Mais cela n'affiche rien, pourtant c'est ce que j'avais compris de la doc mais je dois mal comprendre. Comme faire pour les afficher correctement ?

D'autre part, j'ai remarqué que l'actualisation se faisait mal. J'ai mis dans mon code :

Code :
{$smarty.now|date_format:"%d-%m-%Y %H:%M:%S"}
Cela m'affiche correctement la date et l'heure, mais si j'actualise, rien ne change. En fait cela ne s'actualise que si je modifie le fichier .tpl. Comment faire pour que chaque actualisation soit prise en compte ? Y a-t-il une option à régler quelque part ?

Merci d'avance pour votre aide

Jarodd
Jarodd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2006, 17h21   #2
Membre du Club
 
Inscription : février 2006
Messages : 102
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 102
Points : 40
Points : 40
le problème d'actualisation vient du cache, désactive le si ta page change souvent

http://smarty.php.net/distributions/...2.5.0-docs.pdf

Sinon pour ton pb :

Code :
1
2
3
4
5
6
7
8
9
10
 
 $rqt_membres = "SELECT * FROM MEMBRES";
$rst_membres = mysql_query($rqt_membres);
$cpt = 0;
while ($donnees = mysql_fetch_array($rst_membres)) {
    $tab[$cpt] = $donnees['membre_pseudo'];
    $cpt++;
}
$smarty->assign('membre_pseudo', $tab );
$smarty->assign('cpt', $cpt);
Fichier index.tpl :

Code :
1
2
3
4
5
6
 
Compteur : {$cpt}<br /><br />
<strong>Membres</strong> : <br />
{section name=membre loop=$membre_pseudo}
Pseudo : {$membre_pseudo[membre]}<br />
{/section}
ViRouF est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2006, 18h08   #3
Membre du Club
 
Avatar de Jarodd
 
Inscription : août 2005
Messages : 258
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 258
Points : 63
Points : 63
Quelle efficacité, merci ViRouF !

J'ai mis $this->caching à false, c'est tellement simple que je cherchais plus compliqué

Pour l'affichage, ça marche aussi

Je quote le résolu.
Jarodd est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h26.


 
 
 
 
Partenaires

Hébergement Web