Maison  >  Article  >  cadre php  >  Comment implémenter la pagination dans thinkphp

Comment implémenter la pagination dans thinkphp

藏色散人
藏色散人original
2019-07-03 14:05:597762parcourir

Comment implémenter la pagination dans thinkphp

La pagination Thinkphp est très pratique pour utiliser la méthode paginate(), mais si vous devez traiter davantage les informations de la requête avant de pouvoir les afficher sur la page d'accueil, vous devez utiliser le each () méthode , effectuez des opérations de parcours sur les résultats obtenus à partir de la requête.

public function faculty()
    {
        //查询院系专业信息
        //--查询院系专业信息
        $result=Db::name('sys_faculty')->field('*')->paginate(10,false,[
            'query'=>['user'=>'123','role'=>'student']
        ])->each(function($item, $key){
            //在这里对查询的值进行进一步的整理!!!
           $f_faculty=Db::name('sys_faculty')->field('name')->where('id',$item['parentid'])->find();
           $item['faculty']=$f_faculty['name'];
           //如果是Db类操作分页数据的话,each方法的闭包函数中需要使用返回值
           return $item;
        });
        $this->assign(['result'  => $result]);
        return $this->fetch();
    }

Si vous produisez directement la pagination, il n'y aura pas de style, d'irrégularité et de moche.

Vous pouvez améliorer l'effet de sortie grâce à un style simple :

<style>
       .page_li{
        }
        .page_li li{
            display:inline-block;
            padding:0px 10px;
        }
        .page_li li a{
            display:inline-block;
            padding:0px 4px;
            color:#0088CC;
            font-size:small;
        }
        .page_li li.active{
            color:red;
            font-size:large;
        }
    </style>

L'effet est :

Comment implémenter la pagination dans thinkphp

Un autre style partagé par quelqu'un en ligne :

<style>
       /*分页*/
       .pagination {}
       .pagination li {
           display: inline-block;
           margin-right: -1px;
           padding: 5px;
           border: 1px solid #e2e2e2;
           min-width: 20px;
           text-align: center;
       }
       .pagination li.active {
           background: #009688;
           color: #fff;
           border: 1px solid #009688;
       }
       .pagination li a {
           display: block;
           text-align: center;
       }
    </style>

L'effet est :

Comment implémenter la pagination dans thinkphp

Nous pouvons utiliser différents styles pour une écriture et un ajustement gratuits.

Bien sûr, vous pouvez également ajouter du contenu que vous souhaitez afficher, tel que : combien d'enregistrements y a-t-il dans la requête qui remplit les conditions

Bien sûr, vous pouvez refactoriser ou créer ; une nouvelle classe de style de pagination

Comment implémenter la pagination dans thinkphp

Similaire à celle-ci, pour y parvenir.

Bien sûr, vous pouvez également utiliser une méthode paresseuse et la modifier directement dans ce fichier :

J'ajouterai simplement un nombre total d'enregistrements pour référence ci-dessous :

Comment implémenter la pagination dans thinkphp

Ensuite, une telle statistique sera ajoutée après la pagination :

Comment implémenter la pagination dans thinkphp

Cet article provient de la colonne d'articles techniques du framework ThinkPHP : http:/ /www.php.cn/phpkj/thinkphp/

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn