QuickModels

Les blocs de boucles simples : explication

Un bloc de boucle est un ensemble de trois balises qui permettent d'afficher les valeurs des tableaux de données (array) de manière bien plus précise et puissante que la solution des séparateurs utilisée pour les variables de type "array".

La syntaxe des blocs de boucles se compose de trois balises, qui doivent toujours être présentes, avec des caractères supérieur et inférieur comme délimiteurs, par exemple :
<!--<variable_array>-->
contenu à afficher avant la valeur de la "variable_array"
<!--<value>-->
contenu à afficher après la valeur de la "variable_array"
<!--<end>-->.

QuickModels autorise l'utilisation du français pour la balise centrale et finale des blocs de boucles, ainsi, l'exemple suivant sera interprété à l'identique que le précédent :
<!--<variable_array>-->
contenu à afficher avant la valeur de la "variable_array"
<!--<valeur>-->
contenu à afficher après la valeur de la "variable_array"
<!--<fin>-->.

Une notation abrégée est également possible :
<!--<variable_array>-->
contenu à afficher avant la valeur de la "variable_array"
<!--<v>-->
contenu à afficher après la valeur de la "variable_array"
<!--<n>-->.

QuickModels va dupliquer tout ce qui se trouve entre la balise principale, celle qui contient la variable de type "array", et la balise finale ("end", "fin" ou "n"), autant de fois qu'il y a des valeurs à afficher dans le tableau de données, en remplaçant la balise centrale ("value", "valeur" ou "v") par la valeur retournée par la variable.

Il est possible d'afficher un compteur dans les blocs de boucles, avec la balise <!--<c>--> ("c" pour compteur ou counter), et/ou la clé de la valeur affichée, avec cette fois un "k" à la place du "c" : <!--<k>--> ("k" pour key, clé en anglais).


Les blocs de boucles simples : exemples

Tableau simple en colonnes

un deux trois quatre cinq

Tableau simple en rangées

un
deux
trois
quatre
cinq

Tableau simple en colonnes avec compteur

Compteur 1 2 3 4 5
Valeur un deux trois quatre cinq

Tableau simple en rangées avec compteur

CompteurValeur
1un
2deux
3trois
4quatre
5cinq

Tableau associatif avec compteur et clé

CompteurCléValeur
1unone
2deuxtwo
3troistrhee

Tableau imbriqué

Clé "lang"Clé "un" Clé "deux"Clé "trois"
françaisun deuxtrois
anglaisone twothree
espagnoluno dostres
italienun duetre
allemanda zweidrei

Liste ordonée d'un tableau imbriqué

  1. français :
    1. un
    2. deux
    3. trois
  2. anglais :
    1. one
    2. two
    3. three
  3. espagnol :
    1. uno
    2. dos
    3. tres
  4. italien :
    1. un
    2. due
    3. tre
  5. allemand :
    1. a
    2. zwei
    3. drei

Tableau imbriqué partiel avec compteur et valeur inconnue

CompteurClé "lang" Clé "dix"Clé "trois"
1français trois
2anglais three
3espagnol tres
4italien tre
5allemand drei

Nombre d'itérations avec compteur

1Coucou les amis :-)
2Coucou les amis :-)
3Coucou les amis :-)
4Coucou les amis :-)
5Coucou les amis :-)


Codes sources

(afficher/masquer)Résumé Php-Html

— Php ——————————————————————
// Memorisation d'un tableau (array) simple
$qm->set('aSimple', array('un', 'deux', 'trois', 'quatre', 'cinq'));

// Memorisation d'un tableau (array) associatif
$qm->set('aAssoce', array('un'=>'one', 'deux'=>'two', 'trois'=>'trhee'));

// Mémorisation des tableaux (array) imbriqués
$qm->set('aMulti', array(
array('lang'=>'français','un'=>'un','deux'=>'deux','trois'=>'trois'),
array('lang'=>'anglais','un'=>'one','deux'=>'two','trois'=>'three'),
array('lang'=>'espagnol','un'=>'uno','deux'=>'dos','trois'=>'tres'),
array('lang'=>'arménien','un'=>'meg','deux'=>'yergou','trois'=>'yerec')
));

// Mémorisation d'une valeur texte à répéter x fois
$qm->set('sTxt', 'Coucou les amis :-)');
// Mémorisation du nombre de tours de boucle
$qm->set('nNbr', 5);

— Html —————————————————————
<h4>Tableau simple en colonnes</h4>
<table><tr><!--<aSimple>-->
<td><!--<v>--></td>
<!--<end>--></tr></table>

<h4>Tableau simple en rangées</h4>
<table>
<!--<aSimple>--><tr><td><!--<v>--></td></tr><!--<end>-->
</table>
</p>

<h4>Tableau simple en colonnes avec compteur</h4>
<table>
<tr><th>Compteur</th>
<!--<aSimple>-->
<td><!--<c>--></td>
<!--<end>-->
</tr><tr><th>Valeur</th>
<!--<aSimple>-->
<td><!--<v>--></td>
<!--<end>-->
</tr>
</table>

<h4>Tableau simple en rangées avec compteur</h4>
<table>
<tr><th>Compteur</th><th>Valeur</th></tr>
<!--<aSimple>-->
<tr><td><!--<c>--></td><td><!--<v>--></td></tr>
<!--<end>-->
</table>

<h4>Tableau associatif avec compteur et clé</h4>
<table>
<tr><th>Compteur</th><th>Clé</th><th>Valeur</th></tr>
<!--<aAssoce>-->
<tr><td><!--<c>--></td><td><!--<k>--></td><td><!--<v>--></td></tr>
<!--<end>-->
</table>

<h4>Tableau imbriqué</h4>
<table>
<tr><th>Clé "lang"</th><th>Clé "un"</th>
<th>Clé "deux"</th><th>Clé "trois"</th></tr>
<!--<aMulti>-->
<tr><td><!--<val.lang>--></td><td><!--<val.un>--></td>
<td><!--<val.deux>--></td><td><!--<val.trois>--></td></tr>
<!--<end>-->
</table>

<h4>Liste ordonée d'un tableau imbriqué</h4>
<ol>
<!--<aMulti>-->
<li><!--<val.lang>--> : 
<ol>
<li><!--<val.un>--></li>
<li><!--<val.deux>--></li>
<li><!--<val.trois>--></li>
</ol>
</li>
<!--<end>-->
</ol>

<h4>Tableau imbriqué partiel avec compteur et valeur inconnue</h4>
<table>
<tr><th>Compteur</th><th>Clé "lang"</th>
<th>Clé "un"</th><th>Clé "trois"</th></tr>
<!--<aMulti>-->
<tr><td><!--<c>--></td><td><!--<v.lang>--></td>
<td><!--<v.dix>--></td><td><!--<v.trois>--></td></tr>
<!--<end>-->
</table>

<h4>Nombre d'itérations avec compteur</h4>
<table>
<!--<nNbr>-->
<tr><td><!--<c>--></td><td><!--<val.sTxt>--></td></tr>
<!--<end>-->
</table>

(afficher/masquer)Code Php complet


/*—————————————————————————*\
Memorisation des variables et valeurs

On utilise la méthode "set()" avec deux arguments :
1. le premier est le nom, ou identifiant, de la variable
2. le second est la valeur à mémoriser puis à afficher

NOTE : il faut entourer les noms et les valeurs avec des 
appostrophes '' ou des guillemets "", si vous avez besoin 
d'un de ces caractères à l'intérieur de la valeur, 
vous devrez le protéger avec un anti-slash \, par ex. \".

IMPORTANT : évitez les caractères spéciaux ou accentués,
ainsi que les espaces et les signes de ponctuation
dans les nom des variables ; autorisés [a-zA-Z0-9_]. 
\*—————————————————————————*/
// Memorisation d'un tableau (array) simple
$qm->set('aSimple', array('un', 'deux', 'trois', 'quatre', 'cinq'));

// Memorisation d'un tableau (array) associatif
$qm->set('aAssoce', array('un'=>'one', 'deux'=>'two', 'trois'=>'trhee'));

// Mémorisation des tableaux (array) imbriqués
$qm->set('aMulti', array(
array('lang'=>'français','un'=>'un','deux'=>'deux','trois'=>'trois'),
array('lang'=>'anglais','un'=>'one','deux'=>'two','trois'=>'three'),
array('lang'=>'espagnol','un'=>'uno','deux'=>'dos','trois'=>'tres'),
array('lang'=>'italien','un'=>'un','deux'=>'due','trois'=>'tre'),
array('lang'=>'allemand','un'=>'a','deux'=>'zwei','trois'=>'drei')
));

// Mémorisation d'une valeur texte à répéter x fois
$qm->set('sTxt', 'Coucou les amis :-)');
// Mémorisation du nombre de tours de boucle
$qm->set('nNbr', 5);

// 

(afficher/masquer)Code Html complet

<!-- |> -->

<h3>Les blocs de boucles simples : exemples</h3>

<h4>Tableau simple en colonnes</h4>
<p>
<table align="center" border="0" cellspacing="0" cellpadding="0"
style="width: 400px; margin: 0px auto;">
<tr><!--<aSimple>-->
<td><!--<v>--></td>
<!--<end>--></tr>
</table>
</p>

<h4>Tableau simple en rangées</h4>
<p>
<table align="center" border="0" cellspacing="0" cellpadding="0"
style="width: 200px; margin: 0px auto;">
<!--<aSimple>-->
<tr><td><!--<v>--></td></tr>
<!--<end>-->
</table>
</p>

<h4>Tableau simple en colonnes avec compteur</h4>
<p>
<table align="center" border="0" cellspacing="0" cellpadding="0"
style="width: 500px; margin: 0px auto;">
<tr><th>Compteur</th>
<!--<aSimple>-->
<td><!--<c>--></td>
<!--<end>-->
</tr><tr><th>Valeur</th>
<!--<aSimple>-->
<td><!--<v>--></td>
<!--<end>-->
</tr>
</table>
</p>

<h4>Tableau simple en rangées avec compteur</h4>
<p>
<table align="center" border="0" cellspacing="0" cellpadding="0"
style="width: 300px; margin: 0px auto;">
<tr><th>Compteur</th><th>Valeur</th></tr>
<!--<aSimple>-->
<tr><td><!--<c>--></td><td><!--<v>--></td></tr>
<!--<end>-->
</table>
</p>

<h4>Tableau associatif avec compteur et clé</h4>
<p>
<table align="center" border="0" cellspacing="0" cellpadding="0"
style="width: 400px; margin: 0px auto;">
<tr><th>Compteur</th><th>Clé</th><th>Valeur</th></tr>
<!--<aAssoce>-->
<tr><td><!--<c>--></td><td><!--<k>--></td><td><!--<v>--></td></tr>
<!--<end>-->
</table>
</p>

<h4>Tableau imbriqué</h4>
<p>
<table align="center" border="0" cellspacing="0" cellpadding="0"
style="width: 500px; margin: 0px auto;">
<tr><th>Clé "lang"</th><th>Clé "un"</th>
<th>Clé "deux"</th><th>Clé "trois"</th></tr>
<!--<aMulti>-->
<tr><td><!--<val.lang>--></td><td><!--<val.un>--></td>
<td><!--<val.deux>--></td><td><!--<val.trois>--></td></tr>
<!--<end>-->
</table>
</p>

<h4>Liste ordonée d'un tableau imbriqué</h4>
<p>
<ol>
<!--<aMulti>-->
<li><!--<val.lang>--> : 
<ol>
<li><!--<val.un>--></li>
<li><!--<val.deux>--></li>
<li><!--<val.trois>--></li>
</ol>
</li>
<!--<end>-->
</ol>
</p>

<h4>Tableau imbriqué partiel avec compteur et valeur inconnue</h4>
<p>
<table align="center" border="0" cellspacing="0" cellpadding="0"
style="width: 500px; margin: 0px auto;">
<tr><th>Compteur</th><th>Clé "lang"</th>
<th>Clé "dix"</th><th>Clé "trois"</th></tr>
<!--<aMulti>-->
<tr><td><!--<c>--></td><td><!--<v.lang>--></td>
<td><!--<v.dix>--></td><td><!--<v.trois>--></td></tr>
<!--<end>-->
</table>
</p>

<h4>Nombre d'itérations avec compteur</h4>
<p>
<table align="center" border="0" cellspacing="0" cellpadding="0"
style="width: 300px; margin: 0px auto;">
<!--<nNbr>-->
<tr><td><!--<c>--></td><td><!--<val.sTxt>--></td></tr>
<!--<end>-->
</table>
</p>

<!-- <| -->

QuickModels - 0.06081 - sico