RE: [PHP] Additional query for number of records in table
| From: | Ray Hauge | Date: | Fri, 17 Nov 2006 20:01:29 +0000 |
| Subject: | RE: [PHP] Additional query for number of records in table | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-244825@lists.php.net to get a copy of this message | ||
I've run into this before, and if you use MySQL you can do something
like this:
SELECT SQL_CALC_FOUND_ROWS * FROM Products LIMIT $From, $To
SELECT FOUND_ROWS()
http://dev.mysql.com/doc/refman/5.0/en/information-functions.html
The second query will give you the number of rows that would have been
returned without the LIMIT clause. There's no way to do it with one
query though... at least easily or quickly.
Ray
-----Original Message-----
From: Brad Bonkoski [mailto:bbonkoski@mediaguide.com]
Sent: Friday, November 17, 2006 1:57 PM
To: afan@afan.net
Cc: php-general@lists.php.net
Subject: Re: [PHP] Additional query for number of records in table
afan@afan.net wrote:
> hi,
> I have query to select products for specific category from DB,
something
> like:
> SELECT prod_id, prod_name,...
> FROM products
> LIMIT $From, $To
>
> where $From and $To values depend of on what page you are. let say
there
> are 100 products and I'm listing 25 products per page. for page 1
$From=0,
> $To=24. for page 2 $From=25 and$To=49, etc.
>
> works fine.
>
> though, to calculate how many pages I have I need total number of
records.
> do I have to run first a query (something like SELECT COUNT(*) as
> NoOfRecords FROM products) and then query above or there is solution
to
> have both info using one query?
>
> as a solution, I can run a query to grab all records and then list
just 25
> products but I think it's not so smart idea :)
>
> thanks for any help.
>
> -afan
>
>
I would say the select count(*) from ... query would be a fairly low
cost query.
Perhaps you could store off the number of rows in a session variable so
you don't have to execute the count query when you move to the next
page.
-B
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php