Heim 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)); 

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP-Entwicklung: So implementieren Sie Funktionen zum Sortieren und Paging von Tabellendaten PHP-Entwicklung: So implementieren Sie Funktionen zum Sortieren und Paging von Tabellendaten Sep 20, 2023 am 11:28 AM

PHP-Entwicklung: So implementieren Sie Sortier- und Paging-Funktionen für Tabellendaten. In der Webentwicklung ist die Verarbeitung großer Datenmengen eine häufige Aufgabe. Bei Tabellen, die große Datenmengen anzeigen müssen, ist es normalerweise erforderlich, Datensortierungs- und Paging-Funktionen zu implementieren, um eine gute Benutzererfahrung zu bieten und die Systemleistung zu optimieren. In diesem Artikel wird die Verwendung von PHP zum Implementieren der Sortier- und Paging-Funktionen von Tabellendaten vorgestellt und spezifische Codebeispiele gegeben. Die Sortierfunktion implementiert die Sortierfunktion in der Tabelle und ermöglicht Benutzern die Sortierung in aufsteigender oder absteigender Reihenfolge nach verschiedenen Feldern. Das Folgende ist ein Implementierungsformular

So implementieren Sie benutzerdefinierte Middleware in CodeIgniter So implementieren Sie benutzerdefinierte Middleware in CodeIgniter Jul 29, 2023 am 10:53 AM

So implementieren Sie benutzerdefinierte Middleware in CodeIgniter Einführung: In der modernen Webentwicklung spielt Middleware eine wichtige Rolle in Anwendungen. Sie können verwendet werden, um eine gemeinsame Verarbeitungslogik auszuführen, bevor oder nachdem die Anforderung den Controller erreicht. CodeIgniter unterstützt als beliebtes PHP-Framework auch den Einsatz von Middleware. In diesem Artikel wird die Implementierung benutzerdefinierter Middleware in CodeIgniter vorgestellt und ein einfaches Codebeispiel bereitgestellt. Middleware-Übersicht: Middleware ist eine Art Anfrage

Wie verwende ich JavaScript, um die Tabellen-Paging-Funktion zu implementieren? Wie verwende ich JavaScript, um die Tabellen-Paging-Funktion zu implementieren? Oct 20, 2023 pm 06:19 PM

Wie verwende ich JavaScript, um die Tabellen-Paging-Funktion zu implementieren? Mit der Entwicklung des Internets verwenden immer mehr Websites Tabellen zur Darstellung von Daten. In einigen Fällen, in denen die Datenmenge groß ist, müssen die Daten auf Seiten angezeigt werden, um die Benutzererfahrung zu verbessern. In diesem Artikel wird erläutert, wie Sie JavaScript zum Implementieren der Tabellen-Paging-Funktion verwenden, und es werden spezifische Codebeispiele bereitgestellt. 1. HTML-Struktur Zuerst müssen wir eine HTML-Struktur vorbereiten, um Tabellen und Paging-Schaltflächen zu hosten. Wir können <tab verwenden

CodeIgniter-Middleware: Beschleunigen Sie die Reaktionsfähigkeit der Anwendung und das Rendern von Seiten CodeIgniter-Middleware: Beschleunigen Sie die Reaktionsfähigkeit der Anwendung und das Rendern von Seiten Jul 28, 2023 pm 06:51 PM

CodeIgniter-Middleware: Beschleunigung der Anwendungsreaktionsfähigkeit und Seitenwiedergabe Übersicht: Da Webanwendungen immer komplexer und interaktiver werden, müssen Entwickler effizientere und skalierbarere Lösungen verwenden, um die Anwendungsleistung und Reaktionsfähigkeit zu verbessern. CodeIgniter (CI) ist ein leichtes PHP-basiertes Framework, das viele nützliche Funktionen bietet, darunter Middleware. Middleware ist eine Reihe von Aufgaben, die ausgeführt werden, bevor oder nachdem die Anfrage den Controller erreicht. In diesem Artikel wird die Verwendung vorgestellt

So verwenden Sie den Datenbankabfrage-Builder (Query Builder) im CodeIgniter-Framework So verwenden Sie den Datenbankabfrage-Builder (Query Builder) im CodeIgniter-Framework Jul 28, 2023 pm 11:13 PM

Einführung in die Methode zur Verwendung des Datenbankabfrage-Builders (QueryBuilder) im CodeIgniter-Framework: CodeIgniter ist ein leichtes PHP-Framework, das viele leistungsstarke Tools und Bibliotheken bereitstellt, um Entwicklern die Entwicklung von Webanwendungen zu erleichtern. Eine der beeindruckendsten Funktionen ist der Datenbankabfrage-Builder (QueryBuilder), der eine übersichtliche und leistungsstarke Möglichkeit zum Erstellen und Ausführen von Datenbankabfrageanweisungen bietet. In diesem Artikel wird die Verwendung von Co. vorgestellt

Ausführliche Erläuterung des Prinzips des MyBatis-Paging-Plug-Ins Ausführliche Erläuterung des Prinzips des MyBatis-Paging-Plug-Ins Feb 22, 2024 pm 03:42 PM

MyBatis ist ein hervorragendes Persistenzschicht-Framework, das Datenbankoperationen basierend auf XML und Anmerkungen unterstützt. Es ist einfach und benutzerfreundlich und bietet außerdem einen umfangreichen Plug-In-Mechanismus. Unter diesen ist das Paging-Plugin eines der am häufigsten verwendeten Plug-Ins. Dieser Artikel befasst sich mit den Prinzipien des MyBatis-Paging-Plug-Ins und veranschaulicht es anhand konkreter Codebeispiele. 1. Paging-Plug-In-Prinzip MyBatis selbst bietet keine native Paging-Funktion, Sie können jedoch Plug-Ins verwenden, um Paging-Abfragen zu implementieren. Das Prinzip des Paging-Plug-Ins besteht hauptsächlich darin, MyBatis abzufangen

So entwickeln Sie mit Layui eine Datenanzeigeseite mit Paging-Funktion So entwickeln Sie mit Layui eine Datenanzeigeseite mit Paging-Funktion Oct 24, 2023 pm 01:10 PM

So verwenden Sie Layui zum Entwickeln einer Datenanzeigeseite mit Paging-Funktion. Layui ist ein leichtes Front-End-UI-Framework, das einfache und schöne Schnittstellenkomponenten und ein reichhaltiges interaktives Erlebnis bietet. Während der Entwicklung stoßen wir häufig auf Situationen, in denen wir große Datenmengen anzeigen und Paging durchführen müssen. Das Folgende ist ein Beispiel einer Datenanzeigeseite mit Paging-Funktion, die mit Layui entwickelt wurde. Zuerst müssen wir Layui-bezogene Dateien und Abhängigkeiten einführen. Fügen Sie den folgenden Code zum <head>-Tag hinzu

Vue-Komponentenpraxis: Entwicklung von Paging-Komponenten Vue-Komponentenpraxis: Entwicklung von Paging-Komponenten Nov 24, 2023 am 08:56 AM

Vue-Komponentenpraxis: Einführung in die Entwicklung von Paging-Komponenten In Webanwendungen ist die Paging-Funktion eine wesentliche Komponente. Eine gute Paginierungskomponente sollte einfach und klar in der Darstellung sein, reich an Funktionen und leicht zu integrieren und zu verwenden sein. In diesem Artikel stellen wir vor, wie Sie mit dem Vue.js-Framework eine hochgradig anpassbare Paging-Komponente entwickeln. Wir erklären anhand von Codebeispielen ausführlich, wie man mit Vue-Komponenten entwickelt. Technologie-Stack Vue.js2.xJavaScript (ES6) HTML5- und CSS3-Entwicklungsumgebung

See all articles