我在php中为我的项目创建了一个带有pager的简单表类。如果页面地址不包含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
并让它变得不可改变或者像那样?希望我的问题很明确。
答案 0 :(得分:2)
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;
}
在你的情况下获取没有'page'的查询字符串你应该像这样调用这个函数:
$get = getQE('page');
如果您需要排除多个:
$get = getQE('page', 'section','folder');