Home Backend Development PHP Tutorial thinkphp implementation of array paging example_PHP tutorial

thinkphp implementation of array paging example_PHP tutorial

Jul 13, 2016 am 10:32 AM
thinkphp Pagination array

Paging is implemented under the thinkphp framework . The company's website is based on the Thinkphp framework. I have been hearing about thinkphp for a long time and finally had the opportunity to put it into practice. thinkphp is based on MVC architecture. MVC is familiar to any ITers, model-view-controller. It handles logic and data separately, eliminating a lot of tedious processes. In fact, the official information has introduced in detail how to paginate, portal: http://document.thinkphp.cn/manual_3_2.html#data_page

, but it does not apply when the data has been taken out from the DB. And when converting to an array, I have been exposed to PHP for a full 2 ​​months, and I have been exposed to thinkphp for only 3 weeks. I spent a lot of time on official documents to get familiar with thinkphp. It can be regarded as a worker who sharpens his sword and chops firewood. Here the official documents are explained as a comparison:

(only the first method in the document is cited): Using the Page class and the limit method, the code is as follows:

Copy code The code is as follows:

$User = M('User'); // Instantiate User object

$count= $User->where('status=1')->count();// Query the total number of records that meet the requirements

$Page = new ThinkPage($count,25);//Instantiate the paging class and pass in the total number of records and the number of records displayed on each page (25)

$show = $Page->show();// Display output in paging

// Perform paging data query. Note that the parameters of the limit method must use the attributes of the Page class

$list = $User->where('status=1')->order('create_time')->limit($Page->firstRow.','.$Page->listRows )->select();

$this->assign('list',$list);//Assign data set

$this->assign('page',$show);// Assign paging output

$this->display(); // Output template

The basic idea is to first calculate the total number of records, and then divide the pages according to the set number of records displayed on each page. It can be easily implemented using the Page class encapsulated by Thinkphp. The focus of the implementation is on line 11. The limit method extracts data from the query data according to certain rules. But what should I do if the data has been taken out?

We used the function array_slice() that comes with PHP. The definition is here: http://www.php.net/manual/en/function.array-slice.php

In fact, it is the array version of the limit method. Well, now that the tool is found, implementation is easy. Directly upload the code:

Copy code The code is as follows:

public function nodeslist(){
$portal = new PortalApi;
$nodelist = $portal->getNodeLists($this->uid);

$count = count($nodelist['data']);
$p = new Page($count, 10);
$lists = array_slice($nodelist['data'], $p->firstRow,$p->listRows);
$page = $p->show();
$this->assign('page',$page);
$this->assign('nodes',$lists);
$this->display();
}

The code has been deleted, only the implementation details are retained.

The getNodeLists method in line 3 retrieves data from the database and assigns it to the array nodelist.

Line 5 count calculates the number of array elements.

Line 6 passes in parameters to the Page class.

The array_slice function on line 7 replaces the limit method. The principle is the same.

Line 9 uses the assign method to assign a value to the template. The definition is here: http://document.thinkphp.cn/manual_3_2.html#assign

The same goes for line 10.

The following is the code in the view:

Copy code The code is as follows:

{$page}



If this is the only way, the displayed effect is not friendly. Then find out the definition of Page class:

Copy code The code is as follows:

//Page display customization

private $config= array(

'header' => 'Total %TOTAL_ROW% records',

'prev' => 'Previous page',

'next' => 'Next page',

'first'=> 'First page',

'last' => '...%TOTAL_PAGE%',

'theme'=> '%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END%',

Add spaces before and after the page number. Now you can see the effect:

thinkphp implementation of array paging example_PHP tutorial

It goes well with the background. Of course, you can set different effects according to your own situation.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/754033.htmlTechArticlePaging is implemented under the thinkphp framework. The company's website is based on the Thinkphp framework. I have been hearing about thinkphp for a long time and finally had the opportunity to put it into practice. thinkphp is based on MVC architecture. MVC is suitable for any ITe...
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to remove duplicate elements from PHP array using foreach loop? How to remove duplicate elements from PHP array using foreach loop? Apr 27, 2024 am 11:33 AM

The method of using a foreach loop to remove duplicate elements from a PHP array is as follows: traverse the array, and if the element already exists and the current position is not the first occurrence, delete it. For example, if there are duplicate records in the database query results, you can use this method to remove them and obtain results without duplicate records.

The Art of PHP Array Deep Copy: Using Different Methods to Achieve a Perfect Copy The Art of PHP Array Deep Copy: Using Different Methods to Achieve a Perfect Copy May 01, 2024 pm 12:30 PM

Methods for deep copying arrays in PHP include: JSON encoding and decoding using json_decode and json_encode. Use array_map and clone to make deep copies of keys and values. Use serialize and unserialize for serialization and deserialization.

PHP array key value flipping: Comparative performance analysis of different methods PHP array key value flipping: Comparative performance analysis of different methods May 03, 2024 pm 09:03 PM

The performance comparison of PHP array key value flipping methods shows that the array_flip() function performs better than the for loop in large arrays (more than 1 million elements) and takes less time. The for loop method of manually flipping key values ​​takes a relatively long time.

PHP array multi-dimensional sorting practice: from simple to complex scenarios PHP array multi-dimensional sorting practice: from simple to complex scenarios Apr 29, 2024 pm 09:12 PM

Multidimensional array sorting can be divided into single column sorting and nested sorting. Single column sorting can use the array_multisort() function to sort by columns; nested sorting requires a recursive function to traverse the array and sort it. Practical cases include sorting by product name and compound sorting by sales volume and price.

Application of PHP array grouping function in data sorting Application of PHP array grouping function in data sorting May 04, 2024 pm 01:03 PM

PHP's array_group_by function can group elements in an array based on keys or closure functions, returning an associative array where the key is the group name and the value is an array of elements belonging to the group.

Best Practices for Deep Copying PHP Arrays: Discover Efficient Methods Best Practices for Deep Copying PHP Arrays: Discover Efficient Methods Apr 30, 2024 pm 03:42 PM

The best practice for performing an array deep copy in PHP is to use json_decode(json_encode($arr)) to convert the array to a JSON string and then convert it back to an array. Use unserialize(serialize($arr)) to serialize the array to a string and then deserialize it to a new array. Use the RecursiveIteratorIterator to recursively traverse multidimensional arrays.

Best way to implement array pagination in PHP Best way to implement array pagination in PHP May 04, 2024 pm 02:39 PM

There are two most common ways to paginate PHP arrays: using the array_slice() function: calculate the number of elements to skip, and then extract the specified range of elements. Use built-in iterators: implement the Iterator interface, and the rewind(), key(), current(), next(), and valid() methods are used to traverse elements within the specified range.

The role of PHP array grouping function in finding duplicate elements The role of PHP array grouping function in finding duplicate elements May 05, 2024 am 09:21 AM

PHP's array_group() function can be used to group an array by a specified key to find duplicate elements. This function works through the following steps: Use key_callback to specify the grouping key. Optionally use value_callback to determine grouping values. Count grouped elements and identify duplicates. Therefore, the array_group() function is very useful for finding and processing duplicate elements.

See all articles