zoukankan      html  css  js  c++  java
  • ThinkPHP分页链接支持数组参数的办法

    这几天在用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

  • 相关阅读:
    日期格式化
    堆栈
    编写自己的C头文件
    线性表(gcc实现)
    排序的稳定性
    git创建和合并分支
    当单选input框改变时触发
    css样式定义
    div块显示在一行
    redis数据结构(一)
  • 原文地址:https://www.cnblogs.com/imbin/p/3369918.html
Copyright © 2011-2022 走看看