Maison >cadre php >PensezPHP >Créer des données paginées à l'aide de tableaux

Créer des données paginées à l'aide de tableaux

藏色散人
藏色散人avant
2019-09-18 13:57:103197parcourir

Créer des données paginées à l'aide de tableaux

Instructions

Version utilisée : 5.1.35 LTS

Un scénario rencontré est , le data est un tableau obtenu à partir de l'interface d'appel à distance RPC et doit être affiché sur la page frontale.

Solution

Vous pouvez utiliser la méthode make de la classe thinkPaginate pour créer des données paginées. Créer un prototype de méthode :

/**
     * @access public
     * @param       $items   需要分页的数据
     * @param       $listRows 每页数据条数
     * @param null  $currentPage 当前页数
     * @param null  $total  总页数
     * @param bool  $simple  是否使用简单模式(只有上一页和下一页)
     * @param array $options 其他参数选项,如查询参数,url路径等
     * @return Paginator  返回一个分页对象
     */
    public static function make($items, $listRows, $currentPage = null, $total = null, $simple = false, $options = [])
    {
        return new static($items, $listRows, $currentPage, $total, $simple, $options);
    }

Veuillez consulter les commentaires du code pour les paramètres qui doivent être transmis.

La classe thinkPaginate étant une classe abstraite, une autre classe doit en hériter pour utiliser ses méthodes publiques. La classe thinkpaginatordriverBootstrap du framework en hérite, vous pouvez donc utiliser cette classe pour appeler la méthode make.

Ainsi, vous pouvez écrire une méthode pour créer des données de pagination à partir d'un tableau, qui ressemble probablement à ceci :

private function getPaginateData($data, $page, $query){
    return Bootstrap::make($data, $perPage, $page, $total, false, ['path' => url('module/controller/action'), 'query' => $query]);
}

Après avoir utilisé cette méthode pour générer un objet de pagination, par exemple : $data = $this->getPaginateData (...), affichez-le dans le modèle dans le contrôleur, puis ajoutez-le à la page du modèle :

{$data|raw}

Le moteur de modèle restituera automatiquement le style de pagination.

Tutoriel recommandé : tutoriel 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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer