我有一个文件,我显示两个不同的报告。所以这两个不同的报告需要两个不同的分页脚本。我做到了这一点。分页工作正常。但我有一些问题。 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,这就是它再次进入第一页的原因。但不明白如何处理这个?
答案 0 :(得分:2)
将&pn=$pn
添加到当前包含?pn1=$pn1
的所有链接,反之亦然。