|
|
|
|
|
|
| |
CODE NAME: EASY RSP - PHP
AUTHOR'S NAME: M E HAQUE (EHSAN)
DEVELOPMENT DATE: JUNE 04, 2004
PURPOSE: RECORD SET PAGING IN PHP
PHP VERSION: 4.3.4
MySQL VERSION: 4.0.16
Copy of the database table is in the paging.zip file. Please
download it and follow the instruction in the ReadMeSQL.rtf
file
|
<html>
<head>
<title>Record Set Paging with PHP</title>
</head>
<body>
<?php
@ $rpp; //Records Per Page
@ $cps; //Current Page Starting row number
@ $lps; //Last Page Starting row number
@ $a; //will be used to print the starting row number that is shown in the page
@ $b; //will be used to print the ending row number that is shown in the page
/////////////////////////////////////////////////////////////////////////////////
//Database connection
/////////////////////////////////////////////////////////////////////////////////
$user="";
$password="";
$database="ehsan";
@mysql_connect("localhost",$user,$password);
@mysql_select_db($database) or die( "Unable to select database");
/////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////
//Following IF Statement is used to make sure when the page is loaded for the
//first time, Current Page's Starting row number is 0, i.e. 1st row from the
//table is being printed. It will change as the user will click on next.
/////////////////////////////////////////////////////////////////////////////////
if(empty($_GET["cps"]))
{
$cps = "0";
}
else
{
$cps = $_GET["cps"];
}
/////////////////////////////////////////////////////////////////////////////////
$a = $cps+1;
$rpp = "10";
$lps = $cps - $rpp; //Calculating the starting row number for previous page
/////////////////////////////////////////////////////////////////////////////////
//Following IF Statement is used to make sure whether a link to Previous page is
//needed or not. If the user is viewing the first set of data then the link will
//be disabled, if on the next set then it will carry the $lps in its link and
//enable the link
if ($cps <> 0)
{
$prv = "<a href='paging.php?cps=$lps'>Previous</a>";
}
else
{
$prv = "<font color='cccccc'>Previous</font>";
}
/////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////
//Following SQL Statement uses SQL_CALC_FOUND_ROWS function to calculate total
//number of rows found by the query excluding the limit function added at the
//end of the SQL statement. This is followed by second query with FOUND_ROWS()
//function which actually gives out the number of rows found.
/////////////////////////////////////////////////////////////////////////////////
$q="Select SQL_CALC_FOUND_ROWS * from paging limit $cps, $rpp";
$rs=mysql_query($q) or die(mysql_error());
$nr = mysql_num_rows($rs); //Number of rows found with LIMIT in action
$q0="Select FOUND_ROWS()";
$rs0=mysql_query($q0) or die(mysql_error());
$row0=mysql_fetch_array($rs0);
$nr0 = $row0["FOUND_ROWS()"]; //Number of rows found without LIMIT in action
/////////////////////////////////////////////////////////////////////////////////
//Following IF Statement is used to determine whether the user has reached the
//last page of the records. For example, if we have 27 rows to print and we show
//10 rows per page, then on the third and the last page it will show seven rows
//and will say at the top that SHOWING RECORDS FROM 21 to 27. If the following
//validator is not used then it shows SHOWING RECORDS FROM 21 to 30.
/////////////////////////////////////////////////////////////////////////////////
if (($nr0 < 10) || ($nr < 10))
{
$b = $nr0;
}
else
{
$b = ($cps) + $rpp;
}
/////////////////////////////////////////////////////////////////////////////////
?>
<br>
<table border="0" cellpadding="4" cellspacing="1" width="20%" align="center">
<tr><td align=left colspan="2"><b><font face="verdana" size=1 color="#9999CC"><? echo "$nr0 Records Found"; ?></font></b></td></tr>
<tr><td align='left' colspan="2"><b><font face="verdana" size=1 color="#9999CC"><? echo "Showing Records from $a to $b"; ?></font></b></td></tr>
<tr><td bgcolor="#000080" align='Center'><b><font face="verdana" color="#FFFFFF">SL#</font></b></td>
<td bgcolor="#000080" align='Center'><b><font face="verdana" color="#FFFFFF">Value</font></b></td>
</tr>
<?
while ($row=mysql_fetch_array($rs))
{
/////////////////////////////////////////////////////////////////////////////////
//This is used to show the serial number on the page as well as to count it up
//so that we can get the next page's starting row number when it exits the while
//loop after fullfilling the above SQL criteria.
/////////////////////////////////////////////////////////////////////////////////
$cps = $cps +1;
$val=$row["name"];
echo "<tr><td align='center'><font face=verdana>$cps</font></td><td align='center'><font fave=verdana>$val</font></td></tr>";
}
echo "<tr><td align='right' colspan=2>$prv";
/////////////////////////////////////////////////////////////////////////////////
//Following IF Statement is used to determine whether the Next link will be
//enabled or disabled. If the user has reached the last page of the record, then
//the Next link will be disabled.
/////////////////////////////////////////////////////////////////////////////////
if ($cps == $nr0)
{
echo " | <font color='CCCCCC'>Next</font>";
}
else
{
if ($nr0 > 5)
{
echo " | <a href='paging.php?cps=$cps&lps=$lps'>Next</a>";
}
}
/////////////////////////////////////////////////////////////////////////////////
?>
</td>
</tr>
</table>
</body>
</html> | | |
|
| Database resultset navigation Categories : PHP, HTML and PHP, Databases, MySQL, Navigation | | | Message of the Day - Random Message (Needs MySQL!) Categories : Databases, HTML and PHP, PHP, MySQL | | | Required form fields that pull from MySQL database Categories : PHP, HTML and PHP, Databases, MySQL | | | mySQL/PHP/search with multientry
form and table output with colored rows Categories : PHP, Beginner Guides, MySQL, HTML and PHP, Databases | | | Creating thumbnails from MySQL Blobs online Categories : PHP, MySQL, Graphics, HTML and PHP, Databases | | | Storing / Retrieving pictures from database This can be used for banner / ads exchange. very useful for people developing big portal with ads in the site........ Categories : PHP, MySQL, Databases, HTML and PHP | | | Alternating background color for HTML table rows Categories : PHP, Databases, MySQL, HTML and PHP | | | Function to do live population of HTML's <Select> tag from a Table Categories : PHP, MySQL, HTML and PHP, Databases | | | Editing the virtusertable and sendmail.cw via PHP3.0 and Mysql Categories : MySQL, HTML and PHP, PHP, Databases | | | This function will populate the options in a drop down HTML select list
in a form from a database query.
Categories : MySQL, General SQL, PHP, HTML and PHP, Databases | | | html split bar used to split in multiple pages a database result Categories : HTML and PHP, Databases, MySQL, PHP | | | This program will take data from a user via a web based form, validate it, show it
to the user for re-validation, and finally insert it into the database. Plenty of
sanity checking on the fields in the form.
Categories : MySQL, HTML and PHP, PHP, Complete Programs, Databases | | | Automatically printing the contents of an sql table in MySQL. Categories : MySQL, PHP, HTML and PHP, Databases | | | 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 | | | bookmarker - PHP, PHPLIB, MySQL WWW based bookmark manager Categories : MySQL, PHP, MySQL, Complete Programs, Databases | |
| | | | Mohammed Haque wrote : 1120
Hi All
Well this is my first code published online. Please add your comments and let me know if I have done anything very poor or did a OK job. I have a lot to learn and your comments will help me determine my scale. Please also grade the example.
Cheers
Ehsan
| | | | Peter Warnock wrote : 1121
nice job with commenting -- i would clean out the font tags and replace with css classes since the font tag is being depracated.
| | | | Mohammed Haque wrote : 1122
Thanks Warnock for your comments, well I am currently working to replace them with respective images. Thinking to update it more to add more functionalities. Hope to update it soon.
Cheers
Ehsan
| | | | Chathura Kithmal wrote :1868
Great job friend!!!Your example helped me a lot to my higher diploma project
Thanks a lot & keep up!
| |
|
|