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

         

     

  • 相关阅读:
    SqlSugar ORM 入门篇2 【查询】 让我们实现零SQL
    .NET ORM框架 SqlSugar4.0 功能快速预览【开源】
    Django 2 by example
    持续为您导航
    Django框架
    Python快速入门
    第一章 创建博客应用
    Python术语对照表
    49、你并不了解的format、decimal
    48、python内存泄露
  • 原文地址:https://www.cnblogs.com/zst062102/p/5600999.html
Copyright © 2020-2023  润新知