All of you know how to sorting column while clicking column header like mysql table in database through my previous post. Don't you know? Please visit this sorting column by clicking column header using php .
Now we are going to see about sorting column with pagination like table in mysql database. You sorting column by clicking column header in mysql table and you paginated to next page. You will get result followed by next value.
ie, you sort column by id. First 30 values displayed in first page in mysql table. When you paginate to next page, you will get output from 31st to 60 in your mysql table. Can you make your table like mysql table with sorting and pagination? Yes, you can also done pagination using php.
Already you know the sorting concepts. So now we will see sorting with pagination concepts.
1. Start and limit values based on page number:
$limit=10;
$page=$_GET['p'];
if($page=='')
{
$page=1;
$start=0;
}
else
{
$start=$limit*($page-1);
}
Where,
$limit is the number rows per page.
$page is page number.
$start is starting point of limit in mysql query.
2. Total number of data in mysql table:
Then we need to calculate the total number of data in table. Then find the maximum pages like below:
$total_values=mysql_query("SELECT game_ID, category_Name, game_Title FROM table1");
$total=mysql_num_rows($total_values);
$maxpage=ceil($total/$limit);
Where,
mysql_num_rows() returns the numbers results in numeric.
ceil() returns the whole digit number. ie, ceil(2.3) => 3.
$maxpage returns the number of pages.
3. Function for pagination:
function pagination($maxpage,$page,$url,$field,$sort)
{
//After you sorting your table by clicking particular column, the following trick is used to display
//values with similar sorted values.
if($sort=='ASC')
{
$sort='DESC';
}
else
{
$sort='ASC';
}
echo'<ul style="list-style-type:none;">';
for($i=1; $i<=$maxpage; $i++)
{
if($i==$page)
{
echo'<li style="float:left;padding:5px;">'.$i.'</li>';
}
else
{
echo'<li style="float:left;padding:5px;"><a href="sort.php?p='.$i.'&sorting='.$sort.'&field='.$field.' ">'.$i.'</a></li>';
}
}
echo'</ul>';
}
pagination($maxpage,$page,$url,$field,$sort);
Where, you have to use small tricks. You have to pass the sorting and field values in url using function.
ie, Already we set if the url get 'ASC' value, then it will take as 'DESC'. This is for sorting. Similarly, you have to do same thing for pagination.
The total php script as follows for both sorting and pagination by clicking column header:
Now you will get output like this:
Now you can sorting column with pagination by clicking column header.
Related Post:
Now we are going to see about sorting column with pagination like table in mysql database. You sorting column by clicking column header in mysql table and you paginated to next page. You will get result followed by next value.
ie, you sort column by id. First 30 values displayed in first page in mysql table. When you paginate to next page, you will get output from 31st to 60 in your mysql table. Can you make your table like mysql table with sorting and pagination? Yes, you can also done pagination using php.
Already you know the sorting concepts. So now we will see sorting with pagination concepts.
1. Start and limit values based on page number:
$limit=10;
$page=$_GET['p'];
if($page=='')
{
$page=1;
$start=0;
}
else
{
$start=$limit*($page-1);
}
Where,
$limit is the number rows per page.
$page is page number.
$start is starting point of limit in mysql query.
2. Total number of data in mysql table:
Then we need to calculate the total number of data in table. Then find the maximum pages like below:
$total_values=mysql_query("SELECT game_ID, category_Name, game_Title FROM table1");
$total=mysql_num_rows($total_values);
$maxpage=ceil($total/$limit);
Where,
mysql_num_rows() returns the numbers results in numeric.
ceil() returns the whole digit number. ie, ceil(2.3) => 3.
$maxpage returns the number of pages.
3. Function for pagination:
function pagination($maxpage,$page,$url,$field,$sort)
{
//After you sorting your table by clicking particular column, the following trick is used to display
//values with similar sorted values.
if($sort=='ASC')
{
$sort='DESC';
}
else
{
$sort='ASC';
}
echo'<ul style="list-style-type:none;">';
for($i=1; $i<=$maxpage; $i++)
{
if($i==$page)
{
echo'<li style="float:left;padding:5px;">'.$i.'</li>';
}
else
{
echo'<li style="float:left;padding:5px;"><a href="sort.php?p='.$i.'&sorting='.$sort.'&field='.$field.' ">'.$i.'</a></li>';
}
}
echo'</ul>';
}
pagination($maxpage,$page,$url,$field,$sort);
ie, Already we set if the url get 'ASC' value, then it will take as 'DESC'. This is for sorting. Similarly, you have to do same thing for pagination.
Sorting column with pagination by clicking column header:
The total php script as follows for both sorting and pagination by clicking column header:
<?php
error_reporting(E_ALL ^ E_NOTICE);
mysql_connect('localhost','root','') or die(mysql_error());
mysql_select_db('new');
$field='game_ID';
$sort='ASC';
if(isset($_GET['sorting']))
{
if($_GET['sorting']=='ASC')
{
$sort='DESC';
}
else { $sort='ASC'; }
}
if($_GET['sorting'])
{
if($_GET['field']=='game_ID')
{ $field = "game_ID"; }
elseif($_GET['field']=='category_Name')
{ $field = "category_Name"; }
elseif($_GET['field']=='game_Title')
{ $field="game_Title"; }
}
//pagination
$url='sort.php';
$limit=10;
$page=$_GET['p'];
if($page=='')
{
$page=1;
$start=0;
}
else
{
$start=$limit*($page-1);
}
$sql = "SELECT game_ID, category_Name, game_Title FROM table1 ORDER BY $field $sort limit $start, $limit";
$total_values=mysql_query("SELECT game_ID, category_Name, game_Title FROM table1");
$total=mysql_num_rows($total_values);
$maxpage=ceil($total/$limit);
$result = mysql_query($sql) or die(mysql_error());
echo'<table border="0">';
echo'<th><a href="sort.php?sorting='.$sort.'&field=game_ID">Game Id</a></th>
<th><a href="sort.php?sorting='.$sort.'&field=category_Name">Category Name</a></th>
<th><a href="sort.php?sorting='.$sort.'&field=game_Title">Game Name</a></th>';
while($row = mysql_fetch_array($result)) {
echo'<tr><td>'.$row['game_ID'].'</td><td>'.$row['category_Name'].'</td><td>'.$row['game_Title'].'</td></tr>';
}
echo'</table>';
function pagination($maxpage,$page,$url,$field,$sort)
{
//After you sorting your table by clicking particular column, the following trick is used to display
//values with similar sorted values.
if($sort=='ASC')
{
$sort='DESC';
}
else
{
$sort='ASC';
}
echo'<ul style="list-style-type:none;">';
for($i=1; $i<=$maxpage; $i++)
{
if($i==$page)
{
echo'<li style="float:left;padding:5px;">'.$i.'</li>';
}
else
{
echo'<li style="float:left;padding:5px;"><a href="sort.php?p='.$i.'&sorting='.$sort.'&field='.$field.' ">'.$i.'</a></li>';
}
}
echo'</ul>';
}
pagination($maxpage,$page,$url,$field,$sort);
?>
error_reporting(E_ALL ^ E_NOTICE);
mysql_connect('localhost','root','') or die(mysql_error());
mysql_select_db('new');
$field='game_ID';
$sort='ASC';
if(isset($_GET['sorting']))
{
if($_GET['sorting']=='ASC')
{
$sort='DESC';
}
else { $sort='ASC'; }
}
if($_GET['sorting'])
{
if($_GET['field']=='game_ID')
{ $field = "game_ID"; }
elseif($_GET['field']=='category_Name')
{ $field = "category_Name"; }
elseif($_GET['field']=='game_Title')
{ $field="game_Title"; }
}
//pagination
$url='sort.php';
$limit=10;
$page=$_GET['p'];
if($page=='')
{
$page=1;
$start=0;
}
else
{
$start=$limit*($page-1);
}
$sql = "SELECT game_ID, category_Name, game_Title FROM table1 ORDER BY $field $sort limit $start, $limit";
$total_values=mysql_query("SELECT game_ID, category_Name, game_Title FROM table1");
$total=mysql_num_rows($total_values);
$maxpage=ceil($total/$limit);
$result = mysql_query($sql) or die(mysql_error());
echo'<table border="0">';
echo'<th><a href="sort.php?sorting='.$sort.'&field=game_ID">Game Id</a></th>
<th><a href="sort.php?sorting='.$sort.'&field=category_Name">Category Name</a></th>
<th><a href="sort.php?sorting='.$sort.'&field=game_Title">Game Name</a></th>';
while($row = mysql_fetch_array($result)) {
echo'<tr><td>'.$row['game_ID'].'</td><td>'.$row['category_Name'].'</td><td>'.$row['game_Title'].'</td></tr>';
}
echo'</table>';
function pagination($maxpage,$page,$url,$field,$sort)
{
//After you sorting your table by clicking particular column, the following trick is used to display
//values with similar sorted values.
if($sort=='ASC')
{
$sort='DESC';
}
else
{
$sort='ASC';
}
echo'<ul style="list-style-type:none;">';
for($i=1; $i<=$maxpage; $i++)
{
if($i==$page)
{
echo'<li style="float:left;padding:5px;">'.$i.'</li>';
}
else
{
echo'<li style="float:left;padding:5px;"><a href="sort.php?p='.$i.'&sorting='.$sort.'&field='.$field.' ">'.$i.'</a></li>';
}
}
echo'</ul>';
}
pagination($maxpage,$page,$url,$field,$sort);
?>
Now you will get output like this:
Now you can sorting column with pagination by clicking column header.
Related Post:
Thanks for sorting column concepts with pagination.
ReplyDeleteThis is very simple and quite easy to modify. Thank you for posting!
ReplyDeletethank u sir,,
ReplyDeleteYou can find some interesting stuff like CGPA to Percentage or CPI to Percentage from here
ReplyDeleteHere is the tipshow to check internet balance in idea also check idea 2g/3g internet balance. And Check Your Own Mobile Number-Airtel,Idea,Vodafone,Aircel,Telenor,Docomo,BSNL,Reliance
ReplyDelete