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