|
|
|
| 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 3 times) |
| Viewed : |
18670 |
| 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
|
|
| bookmarker - PHP, PHPLIB, MySQL WWW based bookmark manager Categories : MySQL, PHP, MySQL, Complete Programs, Databases | | | 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 | | | Checks Date-Input from HTML-Forms and converts to YYYY-MM-DD Format for MySQL Date-Fields Categories : MySQL, Date Time, PHP, Databases | | | PostGreSQL and MySQL 2 in 1 db Manager Categories : PHP, PHP Classes, Databases, PostgreSQL, MySQL | | | AJAX Data Grid System using php and mysql. A complete login system with the ability to display data in a grid using ajax. Add , update and delete the records without reloading the page. Categories : PHP, AJAX, Databases, MySQL, Java Script | | | List people whose birthdays fall on the current Day and Month
Categories : Databases, Date Time, MySQL, PHP | | | How to thread a list of messages in database
and show it in a treelike structure Categories : PHP, MySQL, Databases | | | Solution to those 'tell-a-friend' type email issues Categories : PHP, Email, Databases, MySQL | | | phpEasySQL - Easily connect to your MySQL database with just 1 php file and 3 easy steps! Categories : Databases, PHP, MySQL, General SQL | | | [PHP5] aDB PDO LIKE Database Abstraction. Switch easily from one db server to another, strong errors management, manage transactions, queries preparation and more. Categories : PHP, PHP Classes, Databases, MS SQL Server, MySQL | | | 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 | | | Simple function to return the number of days in a time span between 2 given dates. Categories : PHP, Date Time, MySQL, Databases | | | GroupIT Engine v1.00rc1
Categories : PHP, Content Management, MySQL, Databases | | | mySQL/PHP/search with multientry
form and table output with colored rows Categories : PHP, Beginner Guides, MySQL, HTML and PHP, Databases | | | Visits-tracking Categories : PHP, Databases, MySQL, Errors and Logging, Functions | |
| |
| |
|