Hello Brent,

Sure, I guess that's a fine way to do it.
I'll just toss it into a class for reuseability.

- Ben

----- Original Message ----- From: "Brent Baisley" <[EMAIL PROTECTED]>
To: "NYPHP Talk" <[email protected]>
Sent: Thursday, October 18, 2007 5:20 PM
Subject: Re: [nyphp-talk] Paging Strategies


You hardly need a library for figuring out pagination. A very simple
formula tells you how many "pages" you have.
$itemsPerPage = 10;
$totalRecords = 52; //Result of SELECT FOUND_ROWS()
$pages = ceil($totalRecords/$itemsPerPage);

Based on those numbers, you know you have 6 pages of data. You can
then create a loop to generate the links with the proper parameter(s),
however you want to format them.
For example:
link.php?page=3&itemsperpage=10

Would make the following query:
SELECT * FROM table LIMIT ($_GET['page']-1)*10,10

I may be off by 1 on that. Hope that helps.

On 10/18/07, Brent Baisley <[EMAIL PROTECTED]> wrote:
You don't need to do an extra count query. If you are using MySQL,
just add SQL_CALC_FOUND_ROWS to your select query.
SELECT SQL_CALC_FOUND_ROWS * FROM ...

You can then run SELECT FOUND_ROWS() to get the total rows without any
limits. It's still 2 queries, but the second one is essentially free.


On 10/18/07, Cliff Hirsch <[EMAIL PROTECTED]> wrote:
> > 1) TWO-QUERY APPROACH
> > on every page view:
> FAILSAFE. An extra count query, but no worries.
>
> > 3) ONE QUERY, CACHE EVERYTHING
> What if the count changes between pages view? What if there are > millions of > records -- awfully big fetch. What if you change the application down > the > road, which creates the potential for changes in row count between > views?
> Lot's of state info to think about....
>
> My two cents...
> Cliff
>
>
> _______________________________________________
> New York PHP Community Talk Mailing List
> http://lists.nyphp.org/mailman/listinfo/talk
>
> NYPHPCon 2006 Presentations Online
> http://www.nyphpcon.com
>
> Show Your Participation in New York PHP
> http://www.nyphp.org/show_participation.php
>

_______________________________________________
New York PHP Community Talk Mailing List
http://lists.nyphp.org/mailman/listinfo/talk

NYPHPCon 2006 Presentations Online
http://www.nyphpcon.com

Show Your Participation in New York PHP
http://www.nyphp.org/show_participation.php

_______________________________________________
New York PHP Community Talk Mailing List
http://lists.nyphp.org/mailman/listinfo/talk

NYPHPCon 2006 Presentations Online
http://www.nyphpcon.com

Show Your Participation in New York PHP
http://www.nyphp.org/show_participation.php

Reply via email to