php寻呼机的问题

时间:2010-12-04 21:05:36

标签: php pager

我在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并让它变得不可改变或者像那样?希望我的问题很明确。

1 个答案:

答案 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');