質問
私はPHPでの私のプロジェクトのために、ポケットベルを備えたシンプルなテーブルクラスを作りました。ページアドレスに渡されたパラメーションが含まれていない場合、それは正常に動作します 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
そして、それを変更できない、またはそのような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