笔记:PHP还原数据库中读取的复选框数据到前端

很长时间以来,我都在不断的学习,但是好记性不如烂笔头,看得再多,都没有实践有用!

因为工作繁忙,平时能空余闲暇的时间确实比较少,大概在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();
    }

先将POST获得的数据重写

$zizhi=implode(",",input('post.zizhi/a'));

赋值给数组

'zizhi'=>$zizhi

写入数据库

Db::name('beian')->insert($beiandata)

以上就完成了写入数据库的操作,接下来是从数据库中取出
通过ID查询数据库:

$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();

到这里,复选框的写入与读取已经结束,做下笔记。

本文由 蓝洛水深 作者:蓝洛水深 发表,其版权均为 蓝洛水深 所有,文章内容系作者个人观点,不代表 蓝洛水深 对观点赞同或支持。如需转载,请注明文章来源。
3
蓝洛水深

发表评论