题
我在PHP中为我的项目做了一个简单的桌子课。如果页面地址不包含任何传递的参数,则可以正常工作 GET
方法。这是我使用Pager创建表的方式
$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
到Pager并根据应有的形式创建Pager。当我在页面之间切换时,问题会发生,因为 REQUEST_URI
每次通过 page.php?a=b
+实际的页码我正在使用Pager,因此地址看起来像 pager.php?a=b&page1&page=2...
. 。我的问题是,有没有办法只能传播 page.php?a=b
并使其变得不可改变或这样的STH?希望我的问题很清楚。
解决方案
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');
不隶属于 StackOverflow