2010-12-04 134 views
0

我做了一个简单的表类与寻呼机为我的项目在PHP中。如果页面地址不包含通过GET方法传递的任何参数,则它工作正常。这里是林与寻呼机问题与PHP寻呼

$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_URIpage.php?a=b +实际页码我在传呼机上,所以地址看起来像pager.php?a=b&page1&page=2...。而我的问题是,有没有办法只传递给传呼机page.php?a=b,并使其不可更改或像这样?希望我的问题很明确。

+0

问题是`$ tbl-> page`应该标识正在查看的URL,与查询字符串无关吗? – VoteyDisciple 2010-12-04 21:12:54

+0

是的。正如在这个例子中,我希望它总是`page.php?a = b`,但是当我切换页面时,它总是向url添加新的参数。这就是为什么林询问其他方式来通过实际页面没有网页号码在url – Allek 2010-12-04 21:18:01

回答

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; 
} 

你的情况得到查询字符串没有“页”你应该调用这个函数是这样的:如果你需要排除多个

$get = getQE('page'); 

$get = getQE('page', 'section','folder');