Thursday, May 17, 2012

First and Last Entry on a Page using Modulus Remainder

So I know it's quite a long title but I'm not sure what I'll be searching next time. It has taken me a lot longer than I thought it would mostly out of frustration and the inability to know exactly what I'm looking for... always difficult. After a cup of tea the solution was glaringly obvious, just do a primary school mathematics table and it all makes sense (see my 10 mod table below).

This article is a quick note (so I never spend as long again) in PHP on how to determine when looping through a loop, which entry was first and which was last. This is incredibly useful for pagination.

The Situation
I want the script to start writing a DIV layer in the code at the start of the loop (and at every first entry of a page). I want the script to close the DIV layer at the last entry of each page.

So I have a loop
Rather crude but it's a FOR loop for those old CMS's running PHP4:
for ($this_link_index=1; $this_link_index<=$links_per_page; $this_link_index++) {
... going to display entries in here ...
}

The FIRST entry
if (($this_link_index % $links_per_page)==1) {
	//... do something for first entry ...
}

The LAST entry
if (($this_link_index % $links_per_page)==0) {
 //... do something for last entry ...
}

Based on:
1 mod 5 = 1
2 mod 5 = 2
3 mod 5 = 3
4 mod 5 = 4
5 mod 5 = 0
6 mod 5 = 1
7 mod 5 = 2
8 mod 5 = 3
9 mod 5 = 4
10 mod 5 = 0

Add comment

Please note: all comments are reviewed before being published.


Security code
Refresh

Member Login

Joes Latest Members

A huge WELCOME goes to today's newest members:

  • infonat
Member Signups (Activated)
BeforeCurrentTrend
Day21=
Week105ê
Month11224ê
Year2,265612ê

Member Stats
55 guests are currently online.
1,178 members are still deciding.
There are 5,935 members in total.

Latest Comments

Paypal Donations

Want to support my work? Any donation is a blessing :c)