I am a newcomer to php so sorry if this is a lame question but I would really love to know how to solve this problem that I can’t get out of my mind.

On every dynamic site there are features like news articles and other kind of user generated lets call them boxed contents. If You surf the page You can see that there are a **specified number of articles which are displayed** and on the bottom of the page and there are **page numbers** or **arrows that can be used to display older posts**.

I would be interested in the process of making something similar to this in php. I am not looking for a ready code because I know that every site is unique but I would like to learn the **algorithm**. I am looking for the **logical structure** that solves this.

By that I mean for example I would like to set the **maximum number of news articles** (boxed contents) **displayed on a page**. I think I can do this with a loop. That’s not that hard for a single page but How do I solve that if there are about 300 articles and **I want to show the 10 most recent on the first page then** if the user clicks on the second page/next arrow It loads **the other 10 articles which are older and so on**. 

*My theory is If I click the number 2 page link It posts a php code that changes a variable which is used in the mysql query that we used in the article loading form so It loads the articles/boxed contents from a different starting id ( i.e. not 0 but 10 if we click the 2. page link or 20 if we click the 3. page link). The loop starts and It loads the following(previous) 10 articles.*

I know that in the database I should calculate backwards when grabbing the article id because the newest article has the highest id always but for explanation I thought the example above is easier to understand and I can show You what I would like to do.

There is a big chance that my theory is totally wrong but I would like to share my thoughts so far. 

Sorry if it is an incompetent question I would appreciate any word on this problem.