Cet article présente principalement la méthode de ThinkPHP pour implémenter la boucle d'imbrication de balises volist. Les amis qui en ont besoin peuvent s'y référer
Cet article explique plus en détail l'utilisation de l'imbrication de balises volist de ThinkPHP comme suit :
Tout d'abord, dans le manuel de développement Thinkphp, il y a une explication sur l'imbrication des balises
Imbrication de balises :
Le moteur de modèles prend en charge la fonction d'imbrication à plusieurs niveaux des balises et vous pouvez spécifier si les balises de la bibliothèque de balises peuvent être imbriquées.
Parmi les balises intégrées au système, volist (et son alias iterate), switch, if, elseif, else, foreach, compare (y compris toutes les balises de comparaison), (pas) présent, (pas) vide, ( non) les balises définies peuvent être imbriquées. Par exemple :
<volist name="list" id="vo"> <volist name="vo['sub']" id="sub"> {$sub.name} </volist> </volist>
Les balises ci-dessus peuvent être utilisées pour générer des doubles boucles.
Le niveau d'imbrication par défaut est de 3 niveaux, donc le niveau d'imbrication ne peut pas dépasser 3 niveaux. Si vous avez besoin de plus de niveaux, vous pouvez spécifier le paramètre de configuration TAG_NESTED_LEVEL.
Mais comment exactement attribuer une valeur à « list » dans Action ? Comme le montre la description, la liste doit être un tableau à deux dimensions. Vous trouverez ci-dessous un code de test qui peut être utilisé après le test.
$Baojia=new Model('baojia'); $Class=new Model('class'); $parent=$Class->select(); foreach($parent as $n=> $val){ $parent[$n]['voo']=$Baojia->where('belongto=\''.$val['name'].'\'')->select(); } $this->assign('list',$parent); <volist name="list" id="vo"> {$vo.name}<BR> <volist name="vo['voo']" id="sub"> {$sub.name} </volist><BR> </volist>
Deux tableaux sont définis dans la base de données, l'un est un tableau de cotation et l'autre est un tableau de classement. La fonction est d'afficher le classement comme un menu arborescent. Sous chaque classement se trouve la citation de chacun. modèle.
Les principales fonctions du code sont :
1. Créez d'abord le modèle :
$Baojia=new Model('baojia'); $Class=new Model('class');
2. Interrogez ensuite les données dans la classification. important car nous le savons, la requête de base de données renvoie les données sous une forme bidimensionnelle similaire à un tableau. Lorsque nous retirons une seule donnée, cela équivaut à lire chaque ligne de données. Lors de l'appel de
$parent=$Class->select();
Enregistrez les données de la citation dans $parent, où $n est le numéro de série du tableau $parent, qui est équivalent à la table de données stockée dans $parent. Chaque ligne ajoute un index. Cet index pointe vers des citations appartenant à cette catégorie.
foreach($parent as $n=> $val){ $parent[$n]['voo']=$Baojia->where('belongto=\''.$val['name'].'\'')->select(); }
3. Enfin :
$this->assign('list',$parent);
Affichez la sortie !
Grâce à ce programme, vous pouvez avoir une compréhension plus approfondie de la balise
Grâce à cette analyse, la logique est très claire. Des boucles N-fold peuvent être obtenues en tirant des inférences à partir d'un exemple. Bien sûr, si vous avez besoin de plus de niveaux, vous pouvez spécifier le paramètre de configuration TAG_NESTED_LEVEL.
De cette manière, plusieurs cycles tels que pays->province->ville->comté->canton peuvent être réalisés
Recommandations associées :
Comment utiliser les balises de modèle HTML de thinkPHP
Sortie de jugement du modèle ThinkPHP Utilisation des balises vides
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!