很长时间以来,我都在不断的学习,但是好记性不如烂笔头,看得再多,都没有实践有用!
因为工作繁忙,平时能空余闲暇的时间确实比较少,大概在8月份的时候,购买LayIM 专业开发版和layuiAdmin iframe版,想通过ThinkPHP开发一套系统,一方面是方便自己工作,另一方便是更进一步的学习。
难为情的是,和平时学习的其他知识一样,学而不用,就会忘得很快,真正上手以后,我发现,很多事情不像自己想象的那么简单,比如今天我遇到的这个问题。
复选框怎么写入数据库,又怎么从数据库读取写到前端。
原理如下:
implode将复选框所获得的的内容改写以便写入数据库,explode将数据库读取的数据拆分为数组,通过PHP写回前端
我在ThinkPHP的控制器中按如下方法写的:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
public function beianadd() { if(request()->isPost()){ dump(input('post.')); $zizhi=implode(",",input('post.zizhi/a')); /* var_dump($zizhi); */ $beiandata=[ 'xmmc'=>input('post.xmmc'), 'xmdd'=>input('post.xmdd'), 'beianren'=>input('post.beianren'), 'dianhua'=>input('post.dianhua'), 'jieshaoren'=>input('post.jieshaoren'), 'beianshijian'=>input('post.beianshijian'), 'kbdd'=>input('post.kbdd'), 'zizhi'=>$zizhi, 'mudi'=>input('post.mudi'), 'beizhu'=>input('post.beizhu'), ]; dump($beiandata); if(Db::name('beian')->insert($beiandata)){ return $this->success('添加备案信息成功!','beianlst'); }else{ return $this->errror('添加备案信息失败!'); } } return $this->fetch(); } |
先将POST获得的数据重写
1 |
$zizhi=implode(",",input('post.zizhi/a')); |
赋值给数组
1 |
'zizhi'=>$zizhi |
写入数据库
1 |
Db::name('beian')->insert($beiandata) |
以上就完成了写入数据库的操作,接下来是从数据库中取出
通过ID查询数据库:
1 2 |
$id=input('id'); $beianedits=Db::name('beian')->where('id',$id)->find(); |
将从数据库中读取到的值,重组成数组,并且$this->assign赋值到view。
1 2 3 4 |
$zis=explode(',',$beianedits['zizhi']); $this->assign('beianedits',$beianedits); $this->assign('zis',$zis); return $this->fetch(); |
到这里,复选框的写入与读取已经结束,做下笔记。
原创文章,作者:蓝洛水深,如若转载,请注明出处:https://blog.lanluo.cn/6021