Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
4684 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Templates et boucles

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Templates et boucles

n°1188805
Multinickn​ame
Ah bon...
Posté le 31-08-2005 à 16:37:03  profilanswer
 

Hello :hello:
 
Je suis en train de restructurer tout mon code avec des templates, mais j'ai un problème, lorsque j'arrive devant une boucle...
 

Code :
  1. $tpl->SetVar('SELECT', 'Sous-Catégorie : <select name="subcat">');
  2.              while ($aff_subcats = mysql_fetch_array($bdd_subcats))
  3.              {
  4.               $tpl->SetVar('OPTION', '<option value="' . $aff_subcats['id'] . '"');
  5.               if (isset($_GET['subcat']) AND $_GET['subcat'] == $aff_subcats['id'])
  6.               {
  7.                $tpl->SetVar('SELECTED', 'selected="selected"');
  8.               }
  9.               $tpl->SetVar('OPTION_1', '>' . $aff_subcats['name'] . '</option>');
  10.              }
  11.              $tpl->SetVar('SELECT_1', '</select><br /><br />');
  12.              }


 
Ca ne m'affiche qu'une seule des sous-catégories demandées... (en fait je fais un <select> pour choisir la sous-catégorie lorsqu'on fait un nouveau topic ;))
 
D'une part c'est vraiment moche comme code ce que j'ai fait, et d'autre part ça ne marche pas :D Si vous avez une idée... :??:
 
PS >> J'utilise le moteur de templates d'un pote... Si vous avez besoin de plus d'infos, demandez ;)


---------------
Feaks Forum
mood
Publicité
Posté le 31-08-2005 à 16:37:03  profilanswer
 

n°1188813
omega2
Posté le 31-08-2005 à 16:43:37  profilanswer
 

oui, tu fais un echo dans le setvar ou c'est fait plus loin à l'aide d'une autre fonction?

n°1188820
Multinickn​ame
Ah bon...
Posté le 31-08-2005 à 16:51:24  profilanswer
 

Bah euh ça m'affiche une sous-catégorie, donc oui je pense que le echo est fait autre part...  
Sinon dans le setvar, tu l'insérerais comment le echo??
 
bref euh.. je pense plutôt qu'il ne prend plus en compte le while... non?


Message édité par Multinickname le 31-08-2005 à 16:51:35

---------------
Feaks Forum
n°1188827
omega2
Posté le 31-08-2005 à 16:56:01  profilanswer
 

si le echo est fait autre part, alors tu écrases surement les valeurs à chaque tour de boucle.
Du coup, seul le dernier sera affiché vu que seul le dernier existe encore à la sortie de la boucle.
 
Au fait, pourquoi t'as pas demandé à ton ami pourquoi t'en as qu'un seul qui s'est affiché? Il aura pas besoin de jouer aux devinettes pour te répondre. ;)

n°1188833
Multinickn​ame
Ah bon...
Posté le 31-08-2005 à 16:58:30  profilanswer
 

Ok, je comprends l'explication...  
 
Bah j'ai MPisé celui qui a fait le template en début d'aprem, mais j'ai toujours pas de réponse... donc j'attends :d
 
Je verrais avec lui si le probleme vient de l'echo... ;)
 
:jap:


---------------
Feaks Forum
n°1188836
erel69
Posté le 31-08-2005 à 17:00:04  profilanswer
 

Je pense que c'est normal que ça ne t'affiche qu'une seule sous-catégorie. Si je ne me trompe pas ça t'affiche la dernière ? (ou la première si le moteur de ton pote ne permet pas la réaffectaion).
 
En fait, dans ta boucle tu réaffectes tes valeurs aux mêmes variables ('OPTION', 'SELECTED', etc....), donc au final tu n'as qu'un enregistrement.
 
Comme je ne connais pas le moteur de ton pote, le seul moyen de savoir comment gérer un bloc (une boucle quoi) c'est de lire la doc si il en a une ou de lui demander directement :)


---------------
France Hardware | Degroup Test | Degroup News
n°1188843
Multinickn​ame
Ah bon...
Posté le 31-08-2005 à 17:07:47  profilanswer
 

Ah euh bah oui il est possible de gérer les blocs
 

Citation :

* <!-- INCLUDE fichier -->
 *      Inclusion du fichier spécifié. Accepte un nom de fichier ou une variable.
 *
 * <!-- EXIT -->
 *      Arret immédiat de la compilation du fichier en cours. Utile dans les blocs IF/ELSE/END et INCLUDE
 *
 * <!-- BEGIN bloc -->...<!-- ELSE -->...<!-- END -->
 *      Affiche toutes les occurences du bloc spécifié, ou le ELSE si le bloc n'existe pas
 *
 * <!-- DO bloc -->...<!-- ELSE -->...<!-- END -->
 *      Affiche une seule fois les variables du bloc spécifié, ou le ELSE si le bloc n'existe pas
 *
 * <!-- REPEAT fois -->...<!-- END -->
 *      Réptition d'une séquence HTML. "fois" peut être une constante ou une variable simple
 *
 * <!-- IF [NOT] cond -->...<!-- ELSE -->...<!-- ENDIF -->
 *      Compilation conditionnelle. "cond" peut être MORE, TRUE, FALSE, ou une variable
 *
 * <!-- REM -->
 *      Commentaire, supprimé du code final. Les commentaires normaux étant conservés,
 *      c'est pratique pour s'échanger des indications entre plusieurs auteurs de la page.
 *
 * <!-- DUMP [VARS|SOURCE|CODE|varname] -->
 *      Affiche un dump des variables du template, du source, du code compilé ou d'une variable PHP
 */


 
Mais euh comme je débute en templates (commencé aujourd'hui, enfin apres plusieurs tentatives abandonnées :D), je ne vois pas bien comment utiliser les blocs pour ma boucle :??:


---------------
Feaks Forum
n°1188856
erel69
Posté le 31-08-2005 à 17:12:55  profilanswer
 

Ben sans doc on peut rien te dire, il peut y avoir X façons de déclarer le bloc.


---------------
France Hardware | Degroup Test | Degroup News
n°1188863
Multinickn​ame
Ah bon...
Posté le 31-08-2005 à 17:16:58  profilanswer
 

ca t'aide pas le quote que j'ai mis plus haut?


---------------
Feaks Forum
n°1188869
erel69
Posté le 31-08-2005 à 17:19:35  profilanswer
 

Ben tu as mis les tags utilisés dans les templates, mais en fait il faudrait savoir comment définir en php le contenu des blocs.
 
Et ça on peut pas le savoir. Y'a que ton pote qui peut te le dire. Mais ça me parait bizarre qu'il n'ait pas une doc où est expliqué comment utiliser son moteur.


---------------
France Hardware | Degroup Test | Degroup News
mood
Publicité
Posté le 31-08-2005 à 17:19:35  profilanswer
 

n°1188874
Multinickn​ame
Ah bon...
Posté le 31-08-2005 à 17:24:04  profilanswer
 

Il y a un fichier d'exemples...
 
c'est peut être ça non?
 

Code :
  1. // Ajoute une variable composée
  2. $tpl->SetVar("BLOC_1", array("LIGNE_1" => "Premi&egrave;re ligne",
  3.                              "LIGNE_2" => "Seconde ligne",
  4.           "LIGNE_3" => "Troisi&egrave;me ligne",
  5.           "LIGNE_4" => "Quatri&egrave;me ligne",
  6.           "LIGNE_5" => "Cinqui&egrave;me ligne",
  7.          ));


 
Ou ca ?
 

Code :
  1. // On peux mixer :D
  2. $tpl->SetVars(array("SIMPLE_1" => "Simple 1",
  3.                     "BLOC_2"   => array("LIGNE_2_1" => "Ligne 2.1",
  4.                         "LIGNE_2_2" => "Ligne 2.2" ),
  5.     "SIMPLE_2" => "Simple 2",
  6.     "VRAI"     => 1,
  7.     "FAUX"     => 0,
  8.       ));


---------------
Feaks Forum
n°1188876
skeye
Posté le 31-08-2005 à 17:25:37  profilanswer
 

il a l'air un peu moyen ton moteur de templates...[:pingouino]


---------------
Can't buy what I want because it's free -
n°1188881
Multinickn​ame
Ah bon...
Posté le 31-08-2005 à 17:29:55  profilanswer
 

Ah euh bah faut dire ça au conecpteur [:bighead]
 
Nan mais disons que c'est le premier où j'arrive à le faire marcher...
 
Les autres du genre Smarty, ou celui de PHPLib, bah j'y arrivais pas :spamafote:
 
M'enfin euh oui il est peut être nul :d
 
Si je dois vraiment changer, je le ferais


Message édité par Multinickname le 31-08-2005 à 17:30:09

---------------
Feaks Forum
n°1188883
skeye
Posté le 31-08-2005 à 17:31:26  profilanswer
 

Multinickname a écrit :

Smarty j'y arrivais pas


[:pingouino]


---------------
Can't buy what I want because it's free -
n°1188888
Multinickn​ame
Ah bon...
Posté le 31-08-2005 à 17:33:10  profilanswer
 


 
 
Ba euh je veux bien réessayer hein, mes dernieres tentatives datent :d


---------------
Feaks Forum
n°1188889
erel69
Posté le 31-08-2005 à 17:34:31  profilanswer
 

Smarty est très simple, très puissant, et a une bonne doc, facile à exploiter.


---------------
France Hardware | Degroup Test | Degroup News
n°1188890
skeye
Posté le 31-08-2005 à 17:35:09  profilanswer
 

Multinickname a écrit :

Ba euh je veux bien réessayer hein, mes dernieres tentatives datent :d


 
Bah c'est quand même relativement simple...après avoir regardé 2/3 exemples tu sais utiliser les fonctions de base...[:pingouino]


---------------
Can't buy what I want because it's free -
n°1188891
Multinickn​ame
Ah bon...
Posté le 31-08-2005 à 17:36:18  profilanswer
 

Bon... Je vais m'y remettre avec Smarty alors...
 
et puis bah euh je regarderais la doc pour mon probleme plus haut :d
 
:jap:


---------------
Feaks Forum
n°1189002
erel69
Posté le 31-08-2005 à 19:03:01  profilanswer
 

Ben avec smarty c'est facile, suffit d'utiliser {foreach} :)


---------------
France Hardware | Degroup Test | Degroup News

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Templates et boucles

 

Sujets relatifs
[VBA ACCESS] Boucles + insertion de données dans tableauDéroulage de boucles et aléas
Deux boucles whileSpécification de templates imbriquées
templates et héritageCMS/templates - Comment utiliser une BD
boucles en SQL[C++]Héritage de templates, g++ aime pas :(
vo mieux voir le dernier msg de ce topic pour comprendre le 1er ??Boucles while - newbie
Plus de sujets relatifs à : Templates et boucles


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)