tp5获取复选框的值并以字符串的形式存储及读取时类型转换

本文介绍如何在TP5框架中处理复选框的值,将其以字符串形式存储,并在读取时进行类型转换。通过实例展示了表单提交、控制器中的数据处理以及模型中的自动转换方法。

首先,首页:

<form name="form1" id="form1" action="http://127.0.0.1/tp5/public/user/info/do_save" method="post">
    兴趣爱好<br>
            <input name="shobby[]" type="checkbox" value="1"> 电脑<br>
            <input name="shobby[]" type="checkbox" value="2">足球<br>
            <input name="shobby[]" type="checkbox" value="3">篮球<br>
            <input name="shobby[]" type="checkbox" value="4">电影<br>
            <input name="shobby[]" type="checkbox" value="5">音乐<br>
            <input name="shobby[]" type="checkbox" value="6">LOL<br>
            <input name="shobby[]" type="checkbox" value="7">王者荣耀<br>
            <input name="shobby[]" type="checkbox" value="8">汽车<br>
    <input type="submit" value="提交">
</form>



控制器类 info 下save方法:



$s_hobby=Request::instance()->post('shobby/a');            //   /a是用来获取数组的
         if($s_hobby!=null){                                                    // 如果不为空
            for($i=0;$i<count($s_hobby);$i++){                      // 数组转换成字符串
                $topicid.= $s_hobby[$i];
            }
        }
        else{
                $topicid='0';
        } 

        $user = new User;                                                      //模型实例化
        $data=[  's_hobby' => $topicid ];
      
            $user->save($data);




model下转换



public function getSHobbyAttr($value)                       // 不用设置,从数据库里读取就自动转换,方法名对应数据库列名,这里是驼峰法命名
    {
        $w = '';
        $j = 0;
        //$a=count($value)
        $hobby=array();                                                   // 把hobby转换成数组
        $hobby= str_split($value,1);                                //把字符串分割到数组中
        $hob = array(1=>"电脑",2=>"足球",3=>"篮球",4=>"电影",5=>"音乐",6=>"lol",7=>"王者荣耀",8=>"汽车");
        for($i=0;$i<count($value)+1;$i++){
            $j=$hobby[$i];
            $w.= $hob[$j];
        }
        return ($w);
    }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值