Maison > Article > développement back-end > Le code d'implémentation du tri des colonnes infinies dans thinkphp
Le contenu de cet article concerne le code d'implémentation du tri de colonnes illimitées dans thinkphp. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
Nous n'avons pas expliqué dans la question s'il s'agit du tri infini de TP5 ou du tri infini de TP3, histoire de faire comprendre aux novices que la mise en place de ces fonctions n'a rien à voir avec le framework que vous utilisez, peu importe que vous soyez TP5 Peu importe qu'il s'agisse du framework TP3, laravel ou yii. Ce que nous soulignons, c'est l'idée et la méthode pour résoudre le problème. Lors de la démonstration, cela n'a pas d'importance car j'utilise TP3.
Le tri des colonnes illimitées est très simple. Nous l'avons expliqué à plusieurs reprises. Cette fois, nous partagerons avec vous la solution sous la forme d'un article de blog.
Image ci-dessus :
L'image ci-dessus est la classification de niveau infini que nous avons mise en œuvre. Nous devons prêter attention à deux champs, l'identifiant et le champ de tri actuellement. , le champ de tri Les valeurs sont toutes 50, ce qui est la valeur par défaut. Ensuite, je vais prendre une capture d'écran de la structure de la table de données pour tout le monde
Le tri dans l'image ci-dessus est utilisé pour réaliser le tri, le pid est utilisé pour obtenir une classification infinie
La clé pour parvenir à une classification infinie, c'est nous. Pour écrire le champ de tri, nous obtenons l'intégralité du code, mais une seule ligne est utilisée :
[php] <form method="post" action=""> <table class="table table-bordered table-hover"> <thead class=""> <tr> <th width="6%" class="text-center">ID</th> <th width="6%" class="text-center">pid</th> <th width="8%" class="text-center">排序</th> <th>栏目名称</th> <th width="16%" class="text-center">操作</th> </tr> </thead> <tbody> <volist name="cateRes" id="cate"> <tr> <td align="center">{$cate.id}</td> <td align="center">{$cate.pid}</td> <td align="center"> <input type="text" name="sort[{$cate.id}]" value="{$cate.sort}" /></td> <td><?php echo str_repeat(‘-‘, $cate[‘level’]*8);?>{$cate.cate_name}</td> <td align="center"> <a href="" class="btn btn-primary btn-sm shiny"> <i class="fa fa-edit"></i> 编辑 </a> <a href="#" onClick="warning(‘确实要删除吗’, ”)" class="btn btn-danger btn-sm shiny"> <i class="fa fa-trash-o"></i> 删除 </a> </td> </tr> </volist> <tr> <td colspan="4"> <button type="button" tooltip="排序" style="margin-left:225px; width:50px;" class="btn btn-sm btn-azure btn-addon">排序</button> </td> </tr> </tbody> </table> </form> [/php]
À partir du code ci-dessus, nous pouvons voir que l'intégralité La table est enveloppée dans un formulaire, car nous voulons soumettre les champs de tri, un formulaire est donc requis.
Le code de base de notre implémentation du tri infini de colonnes :
[php] <input type="text" name="sort[{$cate.id}]" value="{$cate.sort}" /> [/php]
C'est tout. En fait, nous avons assemblé un tableau sort[] et la clé de chaque élément du tableau entier. est L'identifiant de la colonne actuelle et la valeur sont les valeurs triées de la colonne actuelle, de sorte qu'une fois le tableau soumis, nous pouvons modifier le tri en fonction de l'identifiant
Code complet :
[php] public function lst(){ $cate=D(‘Cate’); if(IS_POST){//排序 $data=I(‘sort’); foreach ($data as $k => $v) { $cate->where(array(‘id’=>$k))->save([‘sort’=>$v]); } return; } $cateRes=$cate->cateTree();//无限级分类树 $this->assign([ ‘cateRes’=>$cateRes, ]); $this->display(‘list’); } [/php]
Recommandations associées :
Quelles sont les méthodes d'intercepter des chaînes dans thinkphp5 ? (Deux méthodes pour y parvenir)
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!