我在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');
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top