multiple paging

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
kpraman
Forum Contributor
Posts: 172
Joined: Fri Oct 13, 2006 10:54 am

multiple paging

Post by kpraman »

Hello,

I have 2 tables from which have to retrive the values and display in this format.

Orderset 1
orders
1
2
3
<first><preivous><next><last>

Orderset 2
orders
1
2
3
<first><preivous><next><last>

.......to Orderset n

I tried but, when i click on any links all Orderset values are changing.
User avatar
mikeq
Forum Regular
Posts: 512
Joined: Fri May 03, 2002 3:33 am
Location: Edinburgh, Scotland

Post by mikeq »

post your code
hrubos
Forum Contributor
Posts: 172
Joined: Sat Oct 07, 2006 3:44 pm

Post by hrubos »

you can use it, it run well

Code: Select all

<?php

db_connect();
if (isset($_GET['pageno'])) {
   $pageno = $_GET['pageno'];
} else {
   $pageno = 1;
}

$query = "SELECT id FROM student s,school h WHERE s.id=h.id ";
$result = mysql_query($query)or die(mysql_error);
$numrows = mysql_numrows($result);


$rows_per_page = 5;
$lastpage      = ceil($numrows/$rows_per_page);


$pageno = (int)$pageno;
if ($pageno < 1) {
   $pageno = 1;
} elseif ($pageno > $lastpage) {
   $pageno = $lastpage;
} // if

$limit = 'LIMIT ' .($pageno - 1) * $rows_per_page .',' .$rows_per_page;

$query = "SELECT id FROM student s,school h WHERE s.id=h.id $limit ";

$result = mysql_query($query) or die(mysql_error());
$num = mysql_numrows($result);
for($i =0;$i<$num;$i++){

$id = mysql_result($result,$i,"id");

echo "<table><tr><td>$i</><td>$rc</td></tr></table>";

}


if ($pageno == 1) {
   echo " FIRST PREV ";
} else {
   echo " <a href='{$_SERVER['PHP_SELF']}?pageno=1'>FIRST</a> ";
   $prevpage = $pageno-1;
   echo " <a href='{$_SERVER['PHP_SELF']}?pageno=$prevpage'>PREV</a> ";
} // if

echo " ( Page $pageno of $lastpage ) ";

if ($pageno == $lastpage) {
   echo " NEXT LAST ";
} else {
   $nextpage = $pageno+1;
   echo " <a href='{$_SERVER['PHP_SELF']}?pageno=$nextpage'>NEXT</a> ";
   echo " <a href='{$_SERVER['PHP_SELF']}?pageno=$lastpage'>LAST</a> ";
} // if



?>
kpraman
Forum Contributor
Posts: 172
Joined: Fri Oct 13, 2006 10:54 am

Post by kpraman »

Paging function

Code: Select all

function getLinks($total,$minlimit,$limit,$file,$mstring="")
{
	$limitto="";
	if($mstring=="")
		$mstring="minlimit";
	if($total>$limit) {
		if($minlimit!=0)
			$firstpglink="<a href='".$file."$mstring=0&limit=$limit' class='pglink'>First</a>";
		else
			$firstpglink="<span class='contentblackbold'>First</span>";
		if($limit != 0 && $total != 0) {
			if($total%$limit) {
				$lastcc=floor($total/$limit)*$limit;
			} else {
				$lastcc=(($total/$limit)-1)*$limit;
			}
			if($minlimit < $lastcc)
				$lastpglink="<a href='".$file."$mstring=$lastcc&limit=$limit' class='pglink'>Last</a>";
			else
				$lastpglink="<span class='pglink'>Last</span>";
		}
		if($minlimit>=$limit) {
			$prevcc=$minlimit-$limit;
			$prevpglink="<a href='".$file."$mstring=$prevcc&limit=$limit' class='pglink'>Prev</a>";
		} else
			$prevpglink="<span class='pglink'>Prev</span>";

		if($minlimit < (($total/$limit)-1)*$limit) {
			$nextcc=$minlimit+$limit;
			$nextpglink="<a href='".$file."$mstring=$nextcc&limit=$limit' class='pglink'>Next</a>";
		} else
			$nextpglink="<span class='pglink'>Next</span>";
		if(($minlimit+$limit)>$total)
			$limitto=$total;
		else
			$limitto=$minlimit+$limit;
		$links[0]="<span class='pglink'>[ ".$firstpglink." | ".$prevpglink." | ".$nextpglink." | ".$lastpglink." ]<span>";
	}
	else
		$links[0]="";

	$links[1]="Showing ".($minlimit+1)."-".$limitto." of ".$total;
	return $links;
}

main file

Code: Select all

<?php


$querytop=mysql_query("SELECT * FROM picture_set");
while($r=mysql_fetch_array($querytop))
{
   $picture_setId=$r['picture_Set_Id'];
   $list.="<table border=1 align='center'> <tr><td>$r[picture_Set_Name]</td></tr></table>";

	$minlimit=$_GET['minlimit'];
	if(empty($minlimit))	$minlimit=0;
	$row=2;					$col=1;
	$limit=$row*$col;
    $i=0;
	$query="SELECT * FROM pictures WHERE picture_setId=$picture_setId";
	$query_res=mysql_query($query);
	$tot=mysql_num_rows($query_res);

	$sql="SELECT * FROM pictures WHERE picture_setId=$picture_setId LIMIT ".$minlimit.",".$limit;
	$sql_res=mysql_query($sql);

	if(mysql_num_rows($sql_res) > 0)
	{
      $list.="<table border=1 align='center'>";
	while($sql_ret=mysql_fetch_array($sql_res))
	{
	    $i++;
          $picture_Id=$sql_ret['picture_Id'];
		  if($i%6==1)  $list.="<tr>";
		  $list.="<td>$picture_Id</td>";
		  if($i%6==0)  $list.="</tr>";
		  $link=getLinks($tot,$minlimit,$limit,$_SERVER[PHP_SELF]."?&picture_setId=$picture_setId&");
	}
	 $list.="<tr><td colspan='5'>$link[0]</td></tr></table>";
	
 }
}

?>
This is what i am getting,

Picturesetname

PictureId

<first><previous><next><last>
.........to n number of Picturesetname. When i click on the links all are changing.
Post Reply