url参数的分解与组合 && 分页功能

url参数的分解与组合:

需求来源:分页功能中需要动态更改page参数。

实现:2个重要函数

1. 分解

1 parse_str(str, [array]);
2 
3 /*
4 str: url字符串, array: 结果
5 例:
6 str : "id=1&page=2"
7 得array:
8 array["id"] = 1, array["page"] = 2

2. 组合

1 $str = http_build_query($array);
2 // 与前者互逆

参考:http://www.jb51.net/article/23787.htm

下面是分页功能:

 1     function setUrl($url, $ans, $page, $str){
 2         $ans["page"] = $page;
 3         $url = $url.'?'.http_build_query($ans);
 4         echo "<a href='$url'>$str</a>		";
 5     }
 6     function viewPageBar($page, $total){
 7         $url = "http://".$_SERVER ['HTTP_HOST'].$_SERVER['PHP_SELF'];        //URL 地址 
 8         parse_str($_SERVER["QUERY_STRING"], $ans);                            //URL 参数转换: 前者:string -> 后者:数组变量
 9         $lpage = $page-1>=1? $page-1: $page;
10         $rpage = $page+1<=$total? $page+1: $total;    
11         echo "<div>";
12         setUrl($url, $ans, 1, "首页");
13         setUrl($url, $ans, $lpage, "前一页");
14         for($d=-3; $d<=3; $d++){
15             $tmp = $page+$d;
16             if($tmp>=1 && $tmp<=$total)
17                 setUrl($url, $ans, $tmp, "$tmp");
18         }
19         setUrl($url, $ans, $rpage, "后一页");
20         setUrl($url, $ans, $total, "尾页");
21         echo "</div><br/><br/>";
22     }
View Code
原文地址:https://www.cnblogs.com/fashare/p/3959875.html