如果我只是运行分页,这段代码可以正常工作,但是当传递了$_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> ";
}
?>
答案 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> ";
?>
希望这有帮助