我有一个带分页选项的php页面
我使用follwoing sql语句生成总页数
$rowsPerPage=25;
$pageNum = 1;
if(isset($_GET['page']))
{
$pageNum = $_GET['page'];
}
$offset = ($pageNum - 1) * $rowsPerPage;
$query = "SELECT COUNT(id) AS numrows FROM TableA"
$result = mysql_query($query) or die('Error, query failed');
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$numrows = $row['numrows'];
$maxPage = ceil($numrows/$rowsPerPage);
现在我有以下代码来编写下一页/上一页链接
$page = $pageNum - 1;
$prev = " <a href=\"$self?page=$page\" class=\"RedNorm\">[Prev]</a> ";
$page = $pageNum + 1;
$next = " <a href=\"$self?page=$page\" class=\"RedNorm\">[Next]</a> ";
我的问题是:
当我通过abc.php这样的页面传递任何查询时?m = 1&amp; page = 2
单击[上一页] / [下一页]页面链接后,查询字符串将不可用。
我可以在
中解决问题 $prev = " <a href=\"$self?page=$page\" class=\"RedNorm\">[Prev]</a> ";
语句
如何获取页面名称加上所有查询字符串代替$ self,因为这只是获取页面名称。
由于
答案 0 :(得分:2)
只需将其他变量添加到链接中即可。
如果您不知道它们是什么/可能是什么,您可以尝试这样的事情:
$q = "?";
foreach($_GET as $k=>$v) {
if($k == "page") continue;
$q .= htmlentities($k) . "=" . htmlentities($v) . "&";
}
$page = $pageNum - 1;
$prev = " <a href=\"$self${q}page=$page\" class=\"RedNorm\">[Prev]</a> ";
$page = $pageNum + 1;
$next = " <a href=\"$self${q}page=$page\" class=\"RedNorm\">[Next]</a> ";
这会将所有查询字符串变量附加到链接,以将其传递给下一页。
答案 1 :(得分:0)
您应该使用$SELF
代替$self
。