Maison développement back-end tutoriel php codeigniter中测试通过的分页类示例_php实例

codeigniter中测试通过的分页类示例_php实例

Jun 07, 2016 pm 05:20 PM
codeigniter

通用分页类(以Codeigniter测试)

codeigniter中测试通过的分页类示例_php实例

page_list.php

复制代码 代码如下:

/**
 * 分页类
 */
class Page_list {

    /**
     * 总数据
     * @var int
     */
    private $total;
    /**
     * 每页显示数据
     * @var int
     */
    private $size;
    /**
     * 当前页数
     * @var int
     */
    private $page;
    /**
     * 页数列表左右页数
     * @var int
     */
    private $len;

    /**
     * 总页数
     * @var int
     */
    private $page_total;
    /**
     * 页码列表
     * @var array
     */
    private $page_list;

    /**
     * 基准地址
     * @var string
     */
    private $base_url;
    /**
     * 替换标志
     * @var string
     */
    private $place;
    /**
     * 分页样式
     * @var string
     */
    private $style;


    /**
     * 构造函数
     *
     * @param array $config 配置数组
     */
    public function __construct($config = array()){
        // 初始化默认值
        $this->total = 0;
        $this->size = 20;
        $this->page = 1;
        $this->len = 4;
        $this->page_total = 1;
        $this->page_list = array();
        $this->base_url = '?page=-page-';
        $this->place = '-page-';
        $this->style = $this->get_default_style();
        $this->initialize($config);
    }

    /**
     * 初始化分页
     *
     * @param array $config 配置数组
     */
    public function initialize($config = array()){
        // 取得配置值
        if(is_array($config)){
            if(array_key_exists('total', $config)) $this->total = @intval($config['total']);
            if(array_key_exists('size', $config)) $this->size = @intval($config['size']);
            if(array_key_exists('page', $config)) $this->page = @intval($config['page']);
            if(array_key_exists('len', $config)) $this->len = @intval($config['len']);
            if(array_key_exists('base_url', $config)) $this->base_url = @strval($config['base_url']);
            if(array_key_exists('place', $config)) $this->place = @strval($config['place']);
            if(array_key_exists('style', $config)) $this->style = @strval($config['style']);
        }
        // 修正值
        if($this->totaltotal = 0;
        if($this->sizesize = 20;
        if($this->pagepage = 1;
        if($this->lenlen = 4;
        // 执行分页算法
        $this->page_total = ceil($this->total/$this->size);
        if($this->page_totalpage_total = 1;
        if($this->page>$this->page_total) $this->page = $this->page_total;
        if($this->page-$this->len>=1){
            for($i=$this->len; $i>0; $i--){
                $this->page_list[] = $this->page - $i;
            }
        }else{
            for($i=1; $ipage; $i++){
                $this->page_list[] = $i;
            }
        }
        $this->page_list[] = $this->page;
        if($this->page+$this->lenpage_total){
            for($i=1; $ilen; $i++){
                $this->page_list[] = $this->page + $i;
            }
        }else{
            for($i=$this->page+1; $ipage_total; $i++){
                $this->page_list[] = $i;
            }
        }
    }

    /**
     * 默认分页样式
     *
     * @return string
     */
    public function get_default_style(){
        $style = '';
        return $style;
    }

    /**
     * 是否是第一页
     *
     * @return bool
     */
    public function is_first_page(){
        return $this->page == 1;
    }

    /**
     * 获取第一页页码
     *
     * @return int
     */
    public function get_first_page(){
        return 1;
    }

    /**
     * 是否是最后一页
     *
     * @return bool
     */
    public function is_last_page(){
        return $this->page == $this->page_total;
    }

    /**
     * 获取最后一页页码
     *
     * @return int
     */
    public function get_last_page(){
        return $this->page_total;
    }

    /**
     * 是否存在上一页
     *
     * @return bool
     */
    public function has_prev_page(){
        return $this->page > 1;
    }

    /**
     * 是否存在下一页
     *
     * @return bool
     */
    public function has_next_page(){
        return $this->page page_total;
    }

    /**
     * 获取上一页页码
     *
     * @return int
     */
    public function get_prev_page(){
        return $this->has_prev_page() ? $this->page - 1 : $this->page;
    }

    /**
     * 获取下一页页码
     *
     * @return int
     */
    public function get_next_page(){
        return $this->has_next_page() ? $this->page + 1 : $this->page;
    }

    /**
     * 获取当前页页码
     *
     * @return int
     */
    public function get_curr_page(){
        return $this->page;
    }

    /**
     * 获取总数据数
     *
     * @return int
     */
    public function get_total(){
        return $this->total;
    }

    /**
     * 获取每页显示数据数
     *
     * @return int
     */
    public function get_size(){
        return $this->size;
    }

    /**
     * 获取总页数
     *
     * @return int
     */
    public function get_total_page(){
        return $this->page_total;
    }

    /**
     * 构建并返回分页代码
     *
     * @param string $base_url 基准地址
     * @param string $place 替换标志
     * @param string $style 分页样式
     * @return string 分页HTML代码
     */
    public function display($base_url = '', $place = '', $style = ''){
        if($base_url==='') $base_url = $this->base_url;
        if($place==='') $place = $this->place;
        if($style==='') $style = $this->style;
        $str = $style.'

';
        if( ! $this->is_first_page()){
            $str .= '首页';
        }
        if($this->has_prev_page()){
            $str .= '上一页';
        }
        foreach($this->page_list as $v){
            if($v==$this->page){
                $str .= '' . $v . '';
            }else{
                $str .= ''.$v.'';
            }
        }
        if($this->has_next_page()){
            $str .= '下一页';
        }
        if( ! $this->is_last_page()){
            $str .= '尾页';
        }
        $str .= '
';
        return $str;
    }

}
?>

/application/view/pagelist.php

复制代码 代码如下:

    class Pagelist extends CI_Controller {

        public function page(){
            $this->load->helper('url');
            $page = $this->input->get('page');
            $page = @intval($page);
            if($page            $this->load->library('page_list',array('total'=>10000,'size'=>16,'page'=>$page));
            $pl = $this->page_list->display(site_url('pagelist/page/page/-page-'));
            $this->load->view('pagelist', array('pl' => $pl));
        }

    }
?>

/application/view/pagelist.php

复制代码 代码如下:




   
    分页测试





Déclaration de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment implémenter un middleware personnalisé dans CodeIgniter Comment implémenter un middleware personnalisé dans CodeIgniter Jul 29, 2023 am 10:53 AM

Comment implémenter un middleware personnalisé dans CodeIgniter Introduction : Dans le développement Web moderne, le middleware joue un rôle essentiel dans l'application. Ils peuvent être utilisés pour exécuter une logique de traitement partagé avant ou après que la demande atteigne le contrôleur. CodeIgniter, en tant que framework PHP populaire, prend également en charge l'utilisation de middleware. Cet article explique comment implémenter un middleware personnalisé dans CodeIgniter et fournit un exemple de code simple. Présentation du middleware : le middleware est une sorte de requête

Middleware CodeIgniter : accélère la réactivité des applications et le rendu des pages Middleware CodeIgniter : accélère la réactivité des applications et le rendu des pages Jul 28, 2023 pm 06:51 PM

Middleware CodeIgniter : accélère la réactivité des applications et le rendu des pages Présentation : À mesure que les applications Web continuent de gagner en complexité et en interactivité, les développeurs doivent utiliser des solutions plus efficaces et évolutives pour améliorer les performances et la réactivité des applications. CodeIgniter (CI) est un framework léger basé sur PHP qui fournit de nombreuses fonctionnalités utiles, dont le middleware. Le middleware est une série de tâches effectuées avant ou après que la demande parvienne au contrôleur. Cet article explique comment utiliser

Comment utiliser le générateur de requêtes de base de données (Query Builder) dans le framework CodeIgniter Comment utiliser le générateur de requêtes de base de données (Query Builder) dans le framework CodeIgniter Jul 28, 2023 pm 11:13 PM

Introduction à la méthode d'utilisation du générateur de requêtes de base de données (QueryBuilder) dans le framework CodeIgniter : CodeIgniter est un framework PHP léger qui fournit de nombreux outils et bibliothèques puissants pour faciliter les développeurs dans le développement d'applications Web. L'une des fonctionnalités les plus impressionnantes est le générateur de requêtes de base de données (QueryBuilder), qui fournit un moyen concis et puissant de créer et d'exécuter des instructions de requête de base de données. Cet article expliquera comment utiliser Co

Utilisez le framework PHP CodeIgniter pour développer une application de chat en temps réel afin de fournir des services de communication pratiques Utilisez le framework PHP CodeIgniter pour développer une application de chat en temps réel afin de fournir des services de communication pratiques Jun 27, 2023 pm 02:49 PM

Avec le développement de l’Internet mobile, la messagerie instantanée est devenue de plus en plus importante et populaire. Pour de nombreuses entreprises, le chat en direct s’apparente davantage à un service de communication, offrant une méthode de communication pratique permettant de résoudre rapidement et efficacement les problèmes commerciaux. Sur cette base, cet article présentera comment utiliser le framework PHP CodeIgniter pour développer une application de chat en temps réel. Comprendre le framework CodeIgniter CodeIgniter est un framework PHP léger qui fournit une série d'outils et de bibliothèques simples pour aider rapidement les développeurs

Middleware CodeIgniter : fournit des fonctions sécurisées de téléchargement et de téléchargement de fichiers Middleware CodeIgniter : fournit des fonctions sécurisées de téléchargement et de téléchargement de fichiers Aug 01, 2023 pm 03:01 PM

Middleware CodeIgniter : fournit des fonctions sécurisées de téléchargement et de téléchargement de fichiers. Introduction : Le téléchargement et le téléchargement de fichiers sont des fonctions très courantes lors du développement d'applications Web. Cependant, pour des raisons de sécurité, la gestion des téléchargements et des téléchargements de fichiers nécessite souvent des mesures de sécurité supplémentaires. CodeIgniter est un framework PHP populaire qui fournit une multitude d'outils et de bibliothèques pour aider les développeurs à créer des applications Web sécurisées et fiables. Cet article explique comment utiliser le middleware CodeIgniter pour implémenter des fichiers sécurisés.

Développement PHP : utilisation de CodeIgniter pour implémenter le modèle MVC et l'API RESTful Développement PHP : utilisation de CodeIgniter pour implémenter le modèle MVC et l'API RESTful Jun 16, 2023 am 08:09 AM

À mesure que les applications Web continuent d’évoluer, il est important de développer des applications plus rapidement et plus efficacement. Et comme l'API RESTful est largement utilisée dans les applications Web, il est nécessaire que les développeurs comprennent comment créer et implémenter l'API RESTful. Dans cet article, nous verrons comment implémenter le modèle MVC et l'API RESTful à l'aide du framework CodeIgniter. Introduction au modèle MVC MVC (Model-Vie

Comment utiliser le framework CodeIgniter5 en php ? Comment utiliser le framework CodeIgniter5 en php ? Jun 01, 2023 am 11:21 AM

CodeIgniter est un framework PHP léger qui utilise l'architecture MVC pour prendre en charge un développement rapide et simplifier les tâches courantes. CodeIgniter5 est la dernière version du framework et offre de nombreuses nouvelles fonctionnalités et améliorations. Cet article explique comment utiliser le framework CodeIgniter5 pour créer une application Web simple. Étape 1 : Installer CodeIgniter5 Le téléchargement et l'installation de CodeIgniter5 sont très simples, suivez simplement ces étapes : Téléchargez la dernière version

Comment utiliser le framework PHP CodeIgniter pour créer rapidement un système de gestion backend Comment utiliser le framework PHP CodeIgniter pour créer rapidement un système de gestion backend Jun 27, 2023 am 09:46 AM

À l'ère d'Internet d'aujourd'hui, un site Web apprécié des utilisateurs doit disposer d'une interface frontale simple et claire et d'un système de gestion back-end puissant, et le framework PHP CodeIgniter est un excellent framework qui permet aux développeurs de créer rapidement un back-end. système de gestion. CodeIgniter a les caractéristiques d'une légèreté, d'une grande efficacité et d'une expansion facile. Cet article s'adressera aux débutants et expliquera en détail comment créer rapidement un système de gestion backend via ce cadre. 1. Installation et configuration L'installation de PHPCodeIgniter est basée sur PHP

See all articles