php分页器的问题
Posted
技术标签:
【中文标题】php分页器的问题【英文标题】:Problem with php pager 【发布时间】:2010-12-04 21:05:36 【问题描述】:我在 php 中为我的项目制作了一个带有寻呼机的简单表格类。如果页面地址不包含GET
方法传递的任何参数,它就可以正常工作。这是我用寻呼机创建表格的方式
$tbl = new table();
$tbl->headers(array ("Header1", "Header2"));
$query = "SELECT COUNT(*) FROM table";
$tbl->pager(15, $query);
$tbl->page = $_SERVER['PHP_SELF'];
$query = "SELECT id, name, FROM table";
$tbl->createTable($query);
我想在switch
函数中使用它
switch ($_GET['a'])
case b:
$tbl = new table();
$tbl->headers(array ("Header1", "Header2"));
$query = "SELECT COUNT(*) FROM table";
$tbl->pager(15, $query);
$tbl->page = $_SERVER['REQUEST_URI'];
$query = "SELECT id, name, FROM table";
$tbl->createTable($query);
break;
case c:
...
break;
和$_SERVER['REQUEST_URI']
会将page.php?a=b
传递给寻呼机并按应有的方式创建寻呼机。当我在页面之间切换时会出现问题,因为REQUEST_URI
每次都通过page.php?a=b
+ 我在寻呼机上的实际页码,所以地址看起来像pager.php?a=b&page1&page=2...
。我的问题是,有没有办法只传递给寻呼机page.php?a=b
并使其不可更改或类似的东西?希望我的问题很清楚。
【问题讨论】:
$tbl->page
是不是应该独立于查询字符串来识别正在查看的 URL 的问题?
是的。在示例中,我希望它始终为page.php?a=b
,但当我切换页面时,它总是向 url 添加新参数。这就是为什么我询问其他方式来传递实际页面而不在 url 中使用页码
您应该查看 ngDesk,因为它完全免费并且具有很棒的功能。你可以在这里查看ngdesk.com
【参考方案1】:
sd
function getQE()
if($_GET)
// exlude some variables from $_GET (pass names of variables in function call)
$ex = func_get_args();
$qstr = "?";
foreach($_GET as $key=>$value)
if (!in_array($key, $ex))
$qstr .= $key."=".$value;
$qstr .= '&';
return $qstr;
在您的情况下,要获取没有“页面”的查询字符串,您应该像这样调用此函数:
$get = getQE('page');
如果您需要排除多个:
$get = getQE('page', 'section','folder');
【讨论】:
太棒了!前段时间我遇到了同样的问题,我写了这个函数......我很高兴它也对你有帮助:)以上是关于php分页器的问题的主要内容,如果未能解决你的问题,请参考以下文章