这几天在用ThinkPHP做系统,搜索页有个数组参数提交

<input class="params_t" name="t[]" type="checkbox" value="email">
<input class="params_t" name="t[]" type="checkbox" value="name">

提交后的URL是

t是个多选项 checkbox

/search.html?q=30&t%5B%5D=a&t%5B%5D=b&pagesize=20

有多页数据的时候

用ThinkPHP自带的分页生成器 ORG.Util.Page

生成的第2页后的链接是

/search/q/30/t//pagesize/20/p/2.html

t 参数的值丢失了,找了下解决办法:

修改 ThinkPHP/Common/functions.php 的 U 函数:

第 258行

        if(!empty($vars)) { // 添加参数
foreach ($vars as $var => $val){
if('' !== trim($val)) $url .= $depr . $var . $depr . urlencode(is_array($val) ? join(',',$val):$val);
}
}

在 Action 获取 t 参数的地方再修改下代码:

$t = I('get.t');if(!is_array($t) && strpos($t,',') !== false) $t = explode(',',$t);

OK, 搞定

第2页后的链接变成

/search/q/30/t/a,b/pagesize/20/p/2.html

最新文章

  1. 应用HTK搭建语音拨号系统4: 识别器评估
  2. activity 和 生命周期 :流程
  3. C++ 过载,重写,隐藏
  4. instanceof 含义
  5. windows phone 8学习 - 选择器
  6. php中实现快排与冒泡排序
  7. 3.MQTT paho
  8. Mysql 用法
  9. sql 中 and 和 or的坑
  10. [Spark][Python][DataFrame][RDD]从DataFrame得到RDD的例子
  11. c#4.0 Task.Factory.StartNew 用法
  12. .NET 黑魔法 - asp.net core 配置文件的&quot;对象存储&quot;
  13. pytest.2.运行多个文件
  14. ZooKeeper 集群的安装部署
  15. java 中文及特殊字符校验
  16. 【Unity】7.2 鼠标输入
  17. CSS深入理解之float(HTML/CSS)
  18. java核心技术-多线程之引导概念
  19. Python的输入输出
  20. C#控件随窗体大小改变而改变

热门文章

  1. Solve one floodlight install problem
  2. MySQL 数据库设计 笔记与总结(4)维护优化
  3. RT-Thread的CPU使用率计算
  4. js获取各种宽高方法
  5. java面试问道的
  6. 关于FireMonkey TGrid赋值的一点小研究
  7. https centos6 and 7
  8. 那些证书相关的玩意儿(SSL,X.509,PEM,DER,CRT,CER,KEY,CSR,P12等)[zz]
  9. Kib Kb KB KIB 区别
  10. qt QMessageBox QInputDialog