Maison php教程 php手册 Codeigniter(CI)框架分页函数及相关知识

Codeigniter(CI)框架分页函数及相关知识

Jun 06, 2016 pm 08:17 PM
ci框架 codeigniter 分页

文章主要介绍了一个自己封装的Codeigniter(CI)框架的分页函数以及Codeigniter(CI)框架分页类的使用心得,非常简单实用,希望对大家能有所帮助

一般在数据分页的时候需要获取当前页的数据和总条数,一般人是在model中封装两个函数分别获取当前页的数据和数据总条数,业务逻辑类似,感觉有点冗余,可以封装在一起:

复制代码 代码如下:


/**
     * 获取分页数据及总条数
     * @param string @tablename 表名
     * @param mixed $where 条件
     * @param int $limit 每页条数
     * @param int $offset 当前页
     */
    public function get_page_data($tablename, $where, $limit, $offset, $order_by, $db)
    {
        if(empty($tablename))
        {
            return FALSE;
        }
       
        $dbhandle = empty($db) ? $this->db : $db;
       
        if($where)
        {
            if(is_array($where))
            {
                $dbhandle->where($where);
            }
            else
            {
                $dbhandle->where($where, NULL, false);
            }
        }
       
        $db = clone($dbhandle);
        $total = $dbhandle->count_all_results($tablename);
       
        if($limit)
        {
            $db->limit($limit);
        }
       
        if($offset)
        {
            $db->offset($offset);
        }
       
        if($order_by)
        {
            $db->order_by($order_by);
        }
       
        $data = $db->get($tablename)->result_array();
       
        return array('total' => $total, 'data' => $data);
    }

CI框架分页类使用心得

CI分页的url地址有四种方式
a) locahost/news/page/2 这个2表示第二页
b) localhost/news/page/20 这个20表示从第20条记录开始分页,即页面的第一条记录,是数据库中的第20条记录。
c) localhost/news?per_page=2 第二页
d) localhost/news?per_page=20 同b)

首先我们先看一下CI分页的参数:

复制代码 代码如下:


$config['base_url'] = $url;  
/* 分页的基础 URL
如果你想用a、b的链接形式,则该url应该形式如/news/page/ 
如果链接是c、d的形式,则url应该如/news? 
*/ 
$config['total_rows'] = $total;//记录总数,这个没什么好说的了,就是你从数据库取得记录总数  
$config['per_page'] = $pagesize; //每页条数。额,这个也没什么好说的。。自己设定。默认为10好像。  
$config['page_query_string'] = TRUE;  
/*传参形式。开启true则会自动在你的url后面加上&per_page=3。(这个per_page是默认的查询字符,当然你也可以用$config['query_string_segment']来自己设定)
因此c、d中的形式一般是为localhost/news?&per_page=2不过都一样,没什么影响。get的per_page还是3 
*/ 
$config['first_link'] = '首页'; // 第一页显示  
$config['last_link'] = '末页'; // 最后一页显示  
$config['next_link'] = '下一页 >'; // 下一页显示  
$config['prev_link'] = ' $config['cur_tag_open'] = ' '; // 当前页开始样式  
$config['cur_tag_close'] = '
';  
/*当前页结束样式。这些你可以自己尝试一下。
比如说我想让当前页的分页数字样式好看一点,红色字体等。你就可以在current上加上css代码 
*/ 
$config['num_links'] = 2;// 当前连接前后显示页码个数。意思就是说你当前页是第5页,那么你可以看到3、4、5、6、7页。  
$config['uri_segment'] = 4;  
/*这个是你在用a)、b)链接样式的时候,用来判断页页数。
比如localhost/news/page/3  这个uri_segment就要设定为3。localhost/news/title/page/3这个就要设定为4 
*/ 
$config['use_page_numbers'] = TRUE;  
/*这个就是a)、b)的差别了。开启了,page就会表示页数。false就会表示记录数
*/ 

刚开始在网上查资料的时候,有很多这种写法。

复制代码 代码如下:


$this->model->get_news($config['per_page'],$this->uri->segment(3)); 

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)

Développement PHP : Comment implémenter les fonctions de tri et de pagination des données des tables Développement PHP : Comment implémenter les fonctions de tri et de pagination des données des tables Sep 20, 2023 am 11:28 AM

Développement PHP : comment implémenter des fonctions de tri et de pagination des données de table Dans le développement Web, le traitement de grandes quantités de données est une tâche courante. Pour les tableaux devant afficher une grande quantité de données, il est généralement nécessaire de mettre en œuvre des fonctions de tri et de pagination des données pour offrir une bonne expérience utilisateur et optimiser les performances du système. Cet article explique comment utiliser PHP pour implémenter les fonctions de tri et de pagination des données de table et donne des exemples de code spécifiques. La fonction de tri implémente la fonction de tri dans le tableau, permettant aux utilisateurs de trier par ordre croissant ou décroissant selon différents champs. Ce qui suit est un formulaire de mise en œuvre

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

Comment utiliser JavaScript pour implémenter la fonction de pagination de table ? Comment utiliser JavaScript pour implémenter la fonction de pagination de table ? Oct 20, 2023 pm 06:19 PM

Comment utiliser JavaScript pour implémenter la fonction de pagination de table ? Avec le développement d’Internet, de plus en plus de sites Web utilisent des tableaux pour afficher les données. Dans certains cas où la quantité de données est importante, les données doivent être affichées dans des pages pour améliorer l'expérience utilisateur. Cet article explique comment utiliser JavaScript pour implémenter la fonction de pagination de table et fournit des exemples de code spécifiques. 1. Structure HTML Tout d'abord, nous devons préparer une structure HTML pour héberger les tableaux et les boutons de pagination. Nous pouvons utiliser <tab

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

Explication détaillée du principe du plug-in de pagination MyBatis Explication détaillée du principe du plug-in de pagination MyBatis Feb 22, 2024 pm 03:42 PM

MyBatis est un excellent framework de couche de persistance. Il prend en charge les opérations de base de données basées sur XML et les annotations. Il est simple et facile à utiliser. Il fournit également un mécanisme de plug-in riche. Parmi eux, le plug-in de pagination est l'un des plug-ins les plus fréquemment utilisés. Cet article approfondira les principes du plug-in de pagination MyBatis et l'illustrera avec des exemples de code spécifiques. 1. Principe du plug-in de pagination MyBatis lui-même ne fournit pas de fonction de pagination native, mais vous pouvez utiliser des plug-ins pour implémenter des requêtes de pagination. Le principe du plug-in de pagination est principalement d'intercepter MyBatis

Comment utiliser Layui pour développer une page d'affichage de données avec fonction de pagination Comment utiliser Layui pour développer une page d'affichage de données avec fonction de pagination Oct 24, 2023 pm 01:10 PM

Comment utiliser Layui pour développer une page d'affichage de données avec une fonction de pagination Layui est un framework d'interface utilisateur frontal léger qui fournit des composants d'interface simples et esthétiques et une expérience interactive riche. Au cours du développement, nous rencontrons souvent des situations où nous devons afficher de grandes quantités de données et effectuer une pagination. Ce qui suit est un exemple de page d'affichage de données avec fonction de pagination développée à l'aide de Layui. Tout d’abord, nous devons introduire les fichiers et dépendances liés à Layui. Ajoutez le code suivant à la balise <head>

Pratique des composants Vue : développement de composants de pagination Pratique des composants Vue : développement de composants de pagination Nov 24, 2023 am 08:56 AM

Pratique des composants Vue : Introduction au développement de composants de pagination Dans les applications Web, la fonction de pagination est un composant essentiel. Un bon composant de pagination doit être simple et clair dans sa présentation, riche en fonctions et facile à intégrer et à utiliser. Dans cet article, nous présenterons comment utiliser le framework Vue.js pour développer un composant de pagination hautement personnalisable. Nous expliquerons en détail comment développer à l'aide des composants Vue à travers des exemples de code. Pile technologique Vue.js2.xJavaScript (ES6) Environnement de développement HTML5 et CSS3

See all articles