QuickModels

Les blocs de boucles imbriquées : explication

De la même manière que pour les blocs conditionnels, QuickModels autorise la construction des blocs de boucles imbriquées, en prenant simplement soin de nommer tous les éléments de chaque bloc de boucle (voir exemple ci-dessous).

Le compteur de boucle, balise <!--<c>-->, et la clé de la valeur, balise <!--<k>-->, peuvent être utilisées pour définir la variable de type "array" nécessaire pour les boucles imbriquées.


Les blocs de boucles imbriquées : exemples

Boucles imbriquées de tableaux imbriqués différents

Clé "lang"Clé "abrv"Nombres
français fr un
deux
trois
anglais en one
two
three
espagnol es uno
dos
tres
italien it un
due
tre
allemand de a
zwei
drei

Boucles imbriquées du même tableau imbriqué

Clé "lang"Clé "abrv"Nombres
français fr un
deux
trois
anglais en one
two
three
espagnol es uno
dos
tres
italien it un
due
tre
allemand de a
zwei
drei


Codes sources

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

— Php ——————————————————————
// Memorisation d'un tableau (array) imbriqué
$qm->set('aLang', array(
array('lang'=>'français','abrv'=>'fr'),
array('lang'=>'anglais','abrv'=>'en'),
array('lang'=>'espagnol','abrv'=>'es'),
array('lang'=>'italien','abrv'=>'it'),
array('lang'=>'allemand','abrv'=>'de')
));

// Memorisation d'un tableau (array) imbriqué
$qm->set('aNbr', array(
'fr'=>array('un','deux','trois'),
'en'=>array('one','two','three'),
'es'=>array('uno','dos','tres'),
'it'=>array('un','due','tre'),
'de'=>array('a','zwei','drei')
));

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

— Html —————————————————————
<h4>Boucles imbriquées de tableaux imbriqués différents</h4>
<table align="center" border="0" cellspacing="0" cellpadding="0"
style="width: 500px; margin: 0px auto;">
<tr><th>Clé "lang"</th><th>Clé "abrv"</th><th>Nombres</th></tr>
<!--<aLang><lang>-->
<tr>
<td><!--<val.lang><lang>--></td>
<td><!--<val.abrv><lang>--></td>
<td>
<!--<aNbr.<!--<val.abrv><lang>-->><nbr>-->
<!--<v><nbr>--><br />
<!--<end><nbr>-->
</td>
</tr>
<!--<end><lang>-->
</table>

<h4>Boucles imbriquées du même tableau imbriqué</h4>
<table align="center" border="0" cellspacing="0" cellpadding="0"
style="width: 500px; margin: 0px auto;">
<tr><th>Clé "lang"</th><th>Clé "abrv"</th><th>Nombres</th></tr>
<!--<aMulti><multi>-->
<tr>
<td><!--<val.lang><multi>--></td>
<td><!--<val.abrv><multi>--></td>
<td>
<!--<aMulti.<!--<k><multi>-->.<!--<val.abrv><multi>-->><trad>-->
<!--<v><trad>--><br />
<!--<end><trad>-->
</td>
</tr>
<!--<end><multi>-->
</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) imbriqué
$qm->set('aLang', array(
array('lang'=>'français','abrv'=>'fr'),
array('lang'=>'anglais','abrv'=>'en'),
array('lang'=>'espagnol','abrv'=>'es'),
array('lang'=>'italien','abrv'=>'it'),
array('lang'=>'allemand','abrv'=>'de')
));

// Memorisation d'un tableau (array) imbriqué
$qm->set('aNbr', array(
'fr'=>array('un','deux','trois'),
'en'=>array('one','two','three'),
'es'=>array('uno','dos','tres'),
'it'=>array('un','due','tre'),
'de'=>array('a','zwei','drei')
));

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

// 

(afficher/masquer)Code Html complet

<!-- |> -->

<h3>Les blocs de boucles imbriquées : exemples</h3>

<h4>Boucles imbriquées de tableaux imbriqués différents</h4>
<p>
<table align="center" border="0" cellspacing="0" cellpadding="0"
style="width: 500px; margin: 0px auto;">
<tr><th>Clé "lang"</th><th>Clé "abrv"</th><th>Nombres</th></tr>
<!--<aLang><lang>-->
<tr>
<td><!--<val.lang><lang>--></td>
<td><!--<val.abrv><lang>--></td>
<td>
<!--<aNbr.<!--<val.abrv><lang>-->><nbr>-->
<!--<v><nbr>--><br />
<!--<end><nbr>-->
</td>
</tr>
<!--<end><lang>-->
</table>
</p>

<h4>Boucles imbriquées du même 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é "abrv"</th><th>Nombres</th></tr>
<!--<aMulti><multi>-->
<tr>
<td><!--<val.lang><multi>--></td>
<td><!--<val.abrv><multi>--></td>
<td>
<!--<aMulti.<!--<k><multi>-->.<!--<val.abrv><multi>-->><trad>-->
<!--<v><trad>--><br />
<!--<end><trad>-->
</td>
</tr>
<!--<end><multi>-->
</table>
</p>

<!-- <| -->

QuickModels - 0.01281 - sico