/    Sign up×
Community /Pin to ProfileBookmark

Paging the list of records

Hi,
every one it is quite easy when trying to get the limited number of records per page… i,e paging… wanna try?… LOOK AT THIS!…
copy and past the following that’s it…..:p
<?php
session_start();
//———————————————————————————————————————-
//connect to the database
$DBUserName = “root”; //database user account name
$DBPassword = “”; //database user account password

$DBName = “school_db”; //name of database

@$conn = mysql_connect(“localhost”,$DBUserName,$DBPassword) or die(‘<br />1-Cannot connect to the database at the moment.<br /><br />Please try again later.<br />’); //connect to mysql

@$isDbSelected = mysql_select_db($DBName, $conn) or die(‘<br />1-Cannot connect to the database at the moment.<br /><br />Please try again later.<br />’); //connect to the db
//———————————————————————————————————————-
$linesPerPage = 4; //number of lines to print per page
//check if a page link was clicked
if(isset($_GET[‘txtPgNum’]))
{
$_
SESSION[‘currPage’] = $_GET[‘txtPgNum’]; //txtPgNum comes from the page links
unset($_
GET[‘txtPgNum’]);
}
//check if either ‘previous’ or ‘next’ buttons were clicked
else if(isset($_GET[‘dir’]))
{
$direction = $_
GET[‘dir’]; // -1 = prev page 1 = next page
unset($_GET[‘dir’]);

$_SESSION[‘currPage’] = $_SESSION[‘currPage’] + $direction;
if($_
SESSION[‘currPage’] < 1) $_SESSION[‘currPage’] = 1;
if($_
SESSION[‘currPage’] > $_SESSION[‘totPages’]) $_SESSION[‘currPage’] = $_SESSION[‘totPages’];

}
else //neither a page link or previous or next buttons were clicked. This must then be the first call to this page
{
$_
SESSION[‘currPage’] = 1; //set current page = 1

//select all the records to work out max number of rows and number of pages needed
$query = ‘select * from school_tbl’;
$rs = mysql_query($query,$conn) or die(“<p>3-Server is busy.<br />Please try again later.</p>”);
$totRows = mysql_num_rows($rs); //total number of rows to display
if($totRows%$linesPerPage == 0)
$totPages = $totRows/$linesPerPage;
else
$totPages = round(($totRows/$linesPerPage)+0.5); //total number of pages required

mysql_free_result($rs);

$_SESSION[‘totRows’] = $totRows;
$_
SESSION[‘totPages’] = $totPages;
}

//calculate the first record number to retrieve from the DB for this page
$_SESSION[‘offset’] = ($_SESSION[‘currPage’]*$linesPerPage)-$linesPerPage;

if($_SESSION[‘offset’] < 0) $_SESSION[‘offset’] = 0;
if($_SESSION[‘offset’] > $_SESSION[‘totRows’]) $_SESSION[‘offset’] = $_SESSION[‘totRows’];
//————————————————————
//Code to retrieve the rows to display on the current page
//————————————————————
$query = ‘select *
from school_tbl limit ‘.$_SESSION[‘offset’].’,’.$linesPerPage;
$rs = mysql_query($query,$conn) or die(“<p>3-Server is busy.<br />Please try again later.</p>”);
?>
<html>
<head>
<title>Pagination</title>
<style type=”text/css”>
<!–
body {
font-size: 10pt;
font-family: tahoma, arial, sans serif}
#page-links-container {
margin: 0px 0px 0px 0px;
padding: 0px 0px 0px 0px}
#page-links-container ul {
list-style-type: none}
#page-links-container ul li {
display: inline;
color: rgb(0,0,205);
padding: 3px 4px 3px 4px;
margin: 0px 0px 0px 6px}
#page-links-container ul li a {
text-decoration: none;
font-size: 10pt;
}
#page-links-container ul li a:hover {
text-decoration: underline}
#page-links-container ul li a:visited {
color: rgb(0,0,205);}
–>
</style>

</head>
<body>
<!– Start of page links container –>
<div id=”page-links-container”>
<ul id=”page-links”>
<li id=”liPrevPage”><a href=”paging.php?dir=-1″ title=”Click to view previous page”>Previous</a></li>
<?php
for($i=1; $i<=$_SESSION[‘totPages’]; $i=$i+1) {
echo ‘<li id=”liPg’.$i.'”><a href=”paging.php?txtPgNum=’.$i.'” title=”Go to page ‘.$i.'”>’.$i.'</a></li>’;
}
?>
<li id=”liNextPage”><a href=”paging.php?dir=1″ title=”Click to view next page”>Next</a></li>
</ul>
</div>

<!– end of page-links-container div –>
<!– Code block to display the DB data from row $_
SESSION[‘offset’] to row $_SESSION[‘offset’]+$linesPerPage –>
<table align=”center”>
<?php
while($row=mysql_fetch_assoc($rs))
{
echo ‘<tr><td>’.$row[‘school_name’].'</td><td>’.$row[‘category’].'</td><td>’.$row[‘medium’].'</td></tr>’;
}
mysql_free_result($rs);
mysql_close($conn);
?>
</table>
<!– End of code block to display the DB data from row $_
SESSION[‘offset’] to row $_SESSION[‘offset’]+$linesPerPage –>
<?php
//hide or display the ‘previous’ and ‘next’ buttons as required
if($_
SESSION[‘totPages’] == 1)
echo ‘<script type=”text/javascript”>document.getElementById(“page-links-container”).style.display=”none”;</script>’;
if($_SESSION[‘currPage’] == 1)
echo ‘<script type=”text/javascript”>document.getElementById(“liPrevPage”).style.visibility=”hidden”;</script>’;
else
echo ‘<script type=”text/javascript”>document.getElementById(“liPrevPage”).style.visibility=”visible”;</script>’;

if($_SESSION[‘currPage’] == $_SESSION[‘totPages’])
echo ‘<script type=”text/javascript”>document.getElementById(“liNextPage”).style.visibility=”hidden”;</script>’;
else
echo ‘<script type=”text/javascript”>document.getElementById(“liNextPage”).style.visibility=”visible”;</script>’;

//highlight the current page’s page link
echo ‘<script type=”text/javascript”>document.getElementById(“liPg’.$_SESSION[‘currPage’].'”).style.backgroundColor=”rgb(200,200,200)”;</script>’;
echo ‘<script type=”text/javascript”>document.getElementById(“liPg’.$_
SESSION[‘currPage’].'”).style.border=”1px solid rgb(0,0,0)”;</script>’;
?>
</body>
</html>

to post a comment
PHP

0Be the first to comment 😎

×

Success!

Help @ravicheganti spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 6.2,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @meenaratha,
tipped: article
amount: 1000 SATS,

tipper: @meenaratha,
tipped: article
amount: 1000 SATS,

tipper: @AriseFacilitySolutions09,
tipped: article
amount: 1000 SATS,
)...