hi there ... i'm writing a code to paging a result in database.
this is what i try to :
function getPags($url,$statpage,$rShow,$rMax)
{
switch($url){ //switch url com'in
case "user":
$xxx = "SELECT id, name, username FROM agent WHERE active <> 0 AND username <> 'admin' ORDER BY username";
$shownum="";
break;
case "history":
$number = $_SESSION["xnum"];
$xxx = "SELECT * FROM message WHERE sender = '".$number."@"._XMSDOMAIN."' ORDER BY time DESC";
$shownum="&num=$number";
break;
}
$result=query($xxx);
$rCount = count_row($result);
$rStart = 0; //starting index to show
if($rMax=="" | $rMax=="0"){
$rMax = 10; //Maximum row showed for the first time - kelipatan 5 loh ya ...
}
$rLast=findlastpage($rCount,$rMax); //find row last page to show
switch($statpage){
case "n":
//next
$rBack = $rShow - $rMax;
$rNext = $rShow + $rMax;
$myQ="LIMIT $rShow,$rMax";
$k1 = "<a href=index.php?page=$url&statpage=b&rShow=$rStart$shownum><<first</a> ";
$k2 = "<a href=index.php?page=$url&statpage=b&rShow=$rBack$shownum><prev</a> ";
if($rNext<$rCount) { //if not eof
$k3 = "<a href=index.php?page=$url&statpage=n&rShow=$rNext$shownum>next></a> ";
$k4 = "<a href=index.php?page=$url&statpage=n&rShow=$rLast$shownum>last>></a>";
}else{ //if eof
$k3 = "<font color=gray>next> last>></font>";
$k4 = "";
}
$key1= $k1.$k2.$k3.$k4;
break;
case "b":
$rBack = $rShow - $rMax;
$rNext = $rShow + $rMax;
$myQ="LIMIT $rShow,$rMax";
if($rShow==0){ //if bof
$k1 = "<font color=gray><<first <prev</font>";
$k2 =" ";
}else{ //if not bof
$k1 = "<a href=index.php?page=$url&statpage=b&rShow=$rStart$shownum><<first</a> ";
$k2 = "<a href=index.php?page=$url&statpage=b&rShow=$rBack$shownum><prev</a> ";
}
$k3 = "<a href=index.php?page=$url&statpage=n&rShow=$rNext$shownum>next></a> ";
$k4 = "<a href=index.php?page=$url&statpage=n&rShow=$rLast$shownum>last>></a>";
$key1 = $k1.$k2.$k3.$k4;
//back
break;
default:
//first page loaded
$myQ="LIMIT $rStart,$rMax";
if($rMax < $rCount){
$k1 = "<font color=gray><<first <prev </font>";
$k2 = "<a href=index.php?page=$url&statpage=n&rShow=$rMax$shownum>next></a> ";
$k3 = "<a href=index.php?page=$url&statpage=n&rShow=$rLast$shownum>last>></a>";
$key1=$k1.$k2.$k3;
}else{
$key1 = "<font color=gray><<first <prev next> last>></font>";
}
}
if($url == "history"){
$showing = "showing per page : $rMax";
}else{
$showing = "showing per page : $rMax, total record : $rCount";
}
$allret = array('getLink'=>$key1,'getQ'=>$myQ,'showing'=>$showing);
return $allret;
}
for example a member list. i have 100 members and i want to display them 20 member per page. but in the page that should be something like combo box or input box for user to switch what number per page the member should be shown.
i already try to use a package from pear (
http://pear.php.net
) but i still confusing to use that.... please help me...