|
|
|
| Title : |
SQL_CALC_FOUND_ROWS - How to know the number of rows a query would have returned if there was no LIMIT set on the query using php5 and mysqli.Usfull with Pagination (Paging). |
| Categories : |
PHP, Databases, MySQL |
 Igal Rubinstein |
| Date : |
Jun 08th 2007 |
| Grade : |
3 of 5 (graded 2 times) |
| Viewed : |
4511 |
| File : |
No file for this code example. |
| Images : |
No Images for this code example. |
|
| Search : |
More code by Igal Rubinstein |
|
| Action : |
Grade This Code Example
|
|
| Tools : |
My Examples List |
|
|
|
|
|
|
Many times we use the LIMIT option in MySQL to limit the number of records returned for a given
query. A feature most web developers commonly use is pagination. When showing the little numbers
pointing back and forth to previous and next pages, we need to both know how many records are in
total and at the same time we need to show only one page of results.
Many developers simply run the query twice. Once without the LIMIT to see how many records answer
the query and a second time to actually get the limited data needed to show.
Another approach to this is to use SQL_CALC_FOUND_ROWS. This methos is faster than running the same
query twice. Lets look at a simple query :
| <?php
//Use $Result to show the data
$Result=mysqli_query($link,"SELECT SQL_CALC_FOUND_ROWS FirstName,LastName From UserBase LIMIT 10");
// The number of rows that actually returned for the query (Can be less than the limit)
$NumberOfResults=mysqli_num_rows($Result);
$NORResult=mysqli_query($link,"Select FOUND_ROWS()");
$NORRow=mysqli_fetch_array($NORResult);
//This is the number of results that would have been returned if the query did not have LIMIT 10 at
//the end. You can now use this number to calculate the number of pages in your pagination.
$NOR=$NORRow["FOUND_ROWS()"];
?> | |
This code example will also work on PHP4, just use mysql_ instead of mysqli_.
From the MySQL Manual :
In the absence of the SQL_CALC_FOUND_ROWS option in the most recent SELECT statement, FOUND_ROWS()
returns the number of rows in the result set returned by that statement.
The row count available through FOUND_ROWS() is transient and not intended to be available past the
statement following the SELECT SQL_CALC_FOUND_ROWS statement. If you need to refer to the value later, save it.
More info at : http://dev.mysql.com/doc/refman/4.1/en/information-functions.html
|
|
| This program allows you to upload an ODBC ressource - i.e. an MS-Access database to a MySQL server. Categories : Databases, MySQL, Complete Programs, PHP, Databases | | | bookmarker - PHP, PHPLIB, MySQL WWW based bookmark manager Categories : MySQL, PHP, MySQL, Complete Programs, Databases | | | Accepts a database & hostname from a user and then HTTP username and password. Uses this to connect to a MySQL database. Produces a form based on the tables it finds there to allow the user to do SELECTs, INSERTs, and DELETEs. Categories : Databases, PHP, MySQL, Complete Programs | | | phpAds, a complete banner and ad management system with detailled tracking and stats. Categories : MySQL, Complete Programs, Ecommerce, PHP, Databases | | | Point and Click Interface ala MS Access for creating SQL statements. Categories : MySQL, Complete Programs, General SQL, PHP, Databases | | | Message of the Day - Random Message (Needs MySQL!) Categories : Databases, HTML and PHP, PHP, MySQL | | | email new items in db Categories : PHP, Email, Databases, MySQL, Beginner Guides | | | Alternating background color for HTML table rows Categories : PHP, Databases, MySQL, HTML and PHP | | | color codes for positive and negative numbers Categories : PHP, MySQL, Databases, HTML | | | Authorize Me! An authentication script. Categories : MySQL, Databases, Authentication, PHP | | | A very simple way to build and do a hierarchical html categories browser without javascript , just using html php and mySql
Categories : HTML and PHP, Databases, Algorithms, PHP, MySQL | | | Linked comboboxes with php-mysql & javascript Categories : PHP, Java Script, Databases, MySQL | | | mysql_escape_string Categories : PHP, MySQL, Databases, Strings | | | Automatically printing the contents of an sql table in MySQL. Categories : MySQL, PHP, HTML and PHP, Databases | | | usercounter class Categories : PHP, PHP Classes, Databases, MySQL, Environment Variables | |
|
|
|