1个文件2分页脚本

时间:2011-02-01 12:19:52

标签: php pagination

我有一个文件,我显示两个不同的报告。所以这两个不同的报告需要两个不同的分页脚本。我做到了这一点。分页工作正常。但我有一些问题。 1 - 当我点击第1页的第3页时,它进入第3页。但是,当我点击第二个报告的任何页面时,第一个报告再次进入第一页,反之亦然。 我设置了两个脚本的限制,偏移,没有记录,没有页面的不同变量。 这是第一个脚本的脚本

$limit1=10;
//nor is method that return total number of rows
$nor1=nor("select count(*) as num from order_details where artist_id=".$_SESSION["sess_artistid"]);
if( isset($_GET['pn1']) && $_GET['pn1']-0>0)
$pn1=$_GET['pn1'];
else
$pn1=1;
$nop1=ceil($nor1 / $limit1);
if($pn1>$nop1)
$pn1=1;
$offset1=($pn1-1) * $limit1; 

然后我查询表并显示记录。在这里,我正在显示第一个脚本的分页

for($i=1;$i<=$nop1;$i++)
{
 if($i==$_GET['pn1'])
 echo('<a style="font-weight:bold;">'.$i.'</a>');
 else
 echo('<a href="'.$_SERVER['PHP_SELF'].'?pn1='.$i.'">'.$i.'</a>');
}

现在第二次报告我正在使用以下代码片段

$limit=7;
$nor=nor("select count(*) as num from order_details where product_id in(".implode(',',$products).") and artist_id in(".implode(',',$vendors).")");
if( isset($_GET['pn']) && $_GET['pn']-0>0)
$pn=$_GET['pn'];
else
$pn=1;
$nop=ceil($nor / $limit);
if($pn>$nop)
$pn=1;
$offset=($pn-1) * $limit;

然后再次查询表格以显示记录,此处显示第二次报告的分页

for($i=1;$i<=$nop;$i++)
{
if($i==$_GET['pn'])
echo('<a style="font-weight:bold;">'.$i.'</a>');
else
echo('<a href="'.$_SERVER['PHP_SELF'].'?pn='.$i.'">'.$i.'</a>');
}

至于我理解,当点击任何其他报告时,它会设置第一个报告pn = 1,这就是它再次进入第一页的原因。但不明白如何处理这个?

1 个答案:

答案 0 :(得分:2)

&pn=$pn添加到当前包含?pn1=$pn1的所有链接,反之亦然。