如何在php中将$ _GET传递给分页

时间:2016-04-19 07:38:37

标签: php pagination

如果我只是运行分页,这段代码可以正常工作,但是当传递了$_GET变量时,它会正确显示第一页,然后当单击下一步时,它会加载数据库中的所有数据并从头开始运行。

我想知道如何传递$_GET变量。

<?php     
if ($currentpageRec > 1) {
    echo " <a href='{$_SERVER['PHP_SELF']}?currentpageRec=1'>First Page</a> ";
    prevpageRec = $currentpageRec - 1;
    echo " <a href='{$_SERVER['PHP_SELF']}?currentpageRec=$prevpageRec'>Previous Page</a> ";
}

for ($x = ($currentpageRec - $rangeRec); $x < (($currentpageRec + $rangeRec) + 1); $x++) {
    if (($x > 0) && ($x <= $totalpagesRec)) {
        if ($x == $currentpageRec) {
            echo " [<b>$x</b>] ";
        } else {
            echo " <a href='{$_SERVER['PHP_SELF']}?currentpageRec=$x'>$x</a> ";
        }
    } 
} 

if ($currentpageRec != $totalpagesRec) {
    $nextpageRec = $currentpageRec + 1;
    echo " <a href='{$_SERVER['PHP_SELF']}?currentpageRec=$nextpageRec'>Next Page</a> ";
    echo " <a href='{$_SERVER['PHP_SELF']}?currentpageRec=$totalpagesRec'>Last Page</a> ";
}
?>

1 个答案:

答案 0 :(得分:-1)

根据您的代码,我想知道您是否应该注册全局变量 http://php.net/manual/en/security.globals.php

您的代码可以将变量用作全局变量,而实际上它应该引用GET变量,例如。

<?php     
    if ($_GET['currentpageRec'] > 1) {
    //[etc]
?>

继续下面的评论:我试图说:user $ _GET(etcetera),因为代码似乎是基于(折旧的)全局变量。

---编辑---

除了更新的共享代码之外:在使用分页时,您必须再次传递每个变量,例如:为你的最后一行

<?
// code to define $totalpagesRec
// code to define $KeyWord
// personal preference to split the echo between static texts and variables
echo " <a href='".$_SERVER['PHP_SELF']."?currentpageRec=".$totalpagesRec."&keyword=".$KeyWord."'>Last Page</a> ";
?>

希望这有帮助