zoukankan      html  css  js  c++  java
  • 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()方法不跳转页面直接抛出错误信息,这是新版本问题,如果想要跳转,找到

         

     

  • 相关阅读:
    截除数值,分别获取数据与单位
    angularjs判断对象值是否存在
    angularjs文件上传实例
    获取Zxing.net 中所有barcodeformat
    创建QR CODE
    QR Code的容错级别
    验证QR Code版本
    Web API返回自定义数据给客户端
    理解Hive 不同组件的功能
    tcpdf中文解决方案
  • 原文地址:https://www.cnblogs.com/zst062102/p/5600999.html
Copyright © 2011-2022 走看看