TP5 Think php 批量添加全部源码

Think php (TP5)源码如下:


add控制器(Yk.php):

<?php  
	namespace app\back\controller;
	use think\Controller;

	header("content-type:text/html;charset=utf-8");
	class Yk extends Controller{

		public function add(){
			if(request()->isPost()){

				//	实例化model 第一种方式a
				$yk_model = new YkModel;
				//	获取的是字符串  用/a修饰符 强制转化为数组类型
				//	分别赋值
				$name = input('name/a');
				$age = input('age/a');

				//	array_map — 将回调函数作用到给定数组的单元上 
				$data = array_map(function($name, $age){ 
					return array('age' => $age, 'name' => $name); 
				}, $name, $age, $ks_name, $three);
                //    利用助手函数Db方法  第二种方式b
				$res = Db('yk')->insertAll($data);
                
                //    利用model的方法    第一种方式a            
                //    insertAll 只需要Db助手函数 与 saveAll 需要实例化model
				// $res=$yk_model->saveAll($c);
				// var_dump($res);die;
				if($res){
					$this->success('添加成功','lists');
				}else{
					$this->error('添加失败');
				}
			}else{
				return $this->fetch('demo');
			}
		}

 add视图(add.html):

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8" />
    <title>TP5批量添加</title>
</head>
    <body>
        //    提交方法add   提交方式 post
        <form action="{:url('add')}" method="post">
                                //加一个[]成数组        
            姓名:<input type="text" name="name[]"><br>
            年龄:<input type="text" name="age[]"><br>
             //   给一个class名称  此处是多条添加区域
            <div class="duo"></div>
                 //    赋给普通按钮一个点击效果触发JS
            <input type="button" value="+" onclick="dianji()">
            //    提交form表单
            <input type="submit" value="提交">
        </form>
    </body>
</html>
<!-- 引入JS样式 -->
<script type="text/javascript" src="/static/back/js/jq.js"></script>
<script type="text/javascript">
//    点击事件触发
function dianji(){
        //    定义一个空值用来接收多条添加的数据
        var str = "";
        //    这里面就是你要多条添加的数据和上面的一样 复制下来即可 最重要是name的 name[]
        str = "姓名:<input type='text' name='name[]'><br />年龄:<input type='text' name='age[]'>";
        //  赋给上面class为duo的div  append在每个匹配元素里面的末尾处插入参数内容。 
        $('.duo').append(str);
    }
</script>

lists控制器(Yk.php):

public function lists(){
    //    利用助手函数Db 查看数据表中内容
	$info = Db('yk')->select();
    //     assign 渲染模板变量数据到前台
	$this->assign('info',$info);
    //    跳转至lists.html
	return $this->fetch('lists');
}

lists视图(lists.html):

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<table border="1" cellspacing="0">
	<a href="{:url('add')}">添加</a>
		<tr>
			<th>ID</th>
			<th>姓名</th>
			<th>年龄</th>
		</tr>
            <!-- 循环出来数据 -->
		{foreach $info as $v}
		<tr>
			<td>{$v.id}</td>
			<td>{$v.name}</td>
			<td>{$v.age}</td>
		</tr>
	</table>
</body>
</html>

 目录截图:

数据表截图: 

模型(model): 

<?php  
	namespace app\back\model;
	use think\Model;

	class Yk extends Model{

		
	}

?>

   注:仅用于所有字段批量添加否则无法完成。

                                                                                                                                                                                                                                           ----and 

猜你喜欢

转载自blog.csdn.net/qq_40176206/article/details/84937724