ThinkPHP讲解(六)——添加数据

添加数据到数据库有三种方式

   第一种:使用数组添加

                        $model=D("Info"); //实例化对象
			
			//添加数据的第一种方式:使用数组添加
			//要添加的数组,必须是关联数组,key必须为字段名称,字段大小写必须对应
		/*	$attr=array(
			'Code'=>'p004',
			'Name'=>'回家',
			'Sex'=>true,
			'Nation'=>'n002',
			'Birthday'=>'1998-2-3'
			);*/
			
		/*	$attr["Code"]="p005";
			$attr["Name"]="数据";
			$attr["Sex"]=false;
			$attr["Nation"]="n001";
			$attr["Birthday"]="1990-3-2";*/
			
			//$model->add($attr); //添加数组的方法,需要参数(该参数是一个关联数组)
			

  第二种:AR方式,用对象

                        //第二中方式:AR方式,用对象
			//主要在.net中使用, 要做三个类1.连接类 2.实体类 3.数据访问类
			
		/*	$model->Code="p006";
			$model->Name="火炬";
			$model->Sex=true;
			$model->Nation="n003";
			$model->Birthday="1999-4-3";
			
			$model->add(); */
			

  

第三种:自动添加表单

    1.在模板文件Add.html中制作一个表单

<body>
<form action="__ACTION__" method="post">
<div>代号:<input type="text" name="Code"/></div>
<div>姓名:<input type="text" name="Name"/></div>
<div>性别:
        <input type="radio" name="Sex" value="1"/>男
        <input type="radio" name="Sex" value="0"/>女
</div>
<div>民族:
     <select name="Nation" size="1">
     <foreach name="shuzu" item="v">
       <option value="<{$v.code}>"><{$v.name}></option>
     </foreach>
     </select>
</div>
<div>生日:<input type="text" name="Birthday"/></div>
<div><input type="submit" value="添加"/></div>
</form>
</body>

  

    2.通过$_POST收集信息

    3.通过create()方法实现数据收集,该方法对于非法的字段会自动进行过滤

//添加数据
	function Add()
	{
		if(empty($_POST))
		{
			$nation=M("nation");
			$attr=$nation->select();
		
			$this->assign("shuzu",$attr);
			
			$this->display();
		}
		else
		{
			$model=D("Info"); //实例化对象
                        
                        $model->create(); //自动收集表单并且创建数据
			
                        $model->Sex=$_POST["Sex"]=="1"?true:false;
			
                        $z=$model->add();
			
                        if($z)
			{
				$this->success("添加数据成功","Add",3);
			}
			else
			{
				$this->error("添加失败","Add",5);
			}
			
		}
		
	}           

        注意:如果是主键值重复,这种错误会导致error()方法不跳转页面直接抛出错误信息,这是新版本问题,如果想要跳转,找到

     

 

转载于:https://www.cnblogs.com/zst062102/p/5600999.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值