ThinkPHP分页链接支持数组参数的办法
2024-08-21 02:02:36
这几天在用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
最新文章
- 应用HTK搭建语音拨号系统4: 识别器评估
- activity 和 生命周期 :流程
- C++ 过载,重写,隐藏
- instanceof 含义
- windows phone 8学习 - 选择器
- php中实现快排与冒泡排序
- 3.MQTT paho
- Mysql 用法
- sql 中 and 和 or的坑
- [Spark][Python][DataFrame][RDD]从DataFrame得到RDD的例子
- c#4.0 Task.Factory.StartNew 用法
- .NET 黑魔法 - asp.net core 配置文件的";对象存储";
- pytest.2.运行多个文件
- ZooKeeper 集群的安装部署
- java 中文及特殊字符校验
- 【Unity】7.2 鼠标输入
- CSS深入理解之float(HTML/CSS)
- java核心技术-多线程之引导概念
- Python的输入输出
- C#控件随窗体大小改变而改变
热门文章
- Solve one floodlight install problem
- MySQL 数据库设计 笔记与总结(4)维护优化
- RT-Thread的CPU使用率计算
- js获取各种宽高方法
- java面试问道的
- 关于FireMonkey TGrid赋值的一点小研究
- https centos6 and 7
- 那些证书相关的玩意儿(SSL,X.509,PEM,DER,CRT,CER,KEY,CSR,P12等)[zz]
- Kib Kb KB KIB 区别
- qt QMessageBox QInputDialog