用php的mvc框架实现增删查改功能(php+mysql)

实现方法:

M:对数据库的连接和方法的定义

V:控制输出什么网页(视图)

C:控制器

测试工具:使用Subilme

效果图:

添加页面

用php的mvc框架实现增删查改功能(php+mysql)_第1张图片

显示页面(学生列表)

用php的mvc框架实现增删查改功能(php+mysql)_第2张图片

删除后

用php的mvc框架实现增删查改功能(php+mysql)_第3张图片

编辑信息修改

用php的mvc框架实现增删查改功能(php+mysql)_第4张图片

更改后

用php的mvc框架实现增删查改功能(php+mysql)_第5张图片

更改后的储存到数据库内容

用php的mvc框架实现增删查改功能(php+mysql)_第6张图片

mvc框架的创建,这里用命令提示符

M:php artisan make:Model    Models\StuModel

C:php artisan make:Controller  StudentController  --resource   //自带七个方法

创建的路由

Route::resource('/xue','StudentController');

1.首先创建一个数据库db1,然后创建一张表stu(字段为id,name,class,address)用来储存我们添加的数据

用php的mvc框架实现增删查改功能(php+mysql)_第7张图片

 mvc框架: 

M---从Model入手,封装操作数据库的方法一张数据表对应一个Model(StuModel)

delete();//返回一个model本身的find()方法,并以id查找,查找到返回给delete()
    }

    public function getone($id){//查找
        return self::find($id);
    }


    public function updatedata($data,$id){//更改
        return self::find($id)->update($data);
    }
}

C:StudentController控制器的主要作用是接收用户请求,调用模型处理数据,最后通过视图展示数据

getall();//大批量的数据交给list

         //var_dump($list);

        return view("Stu.index")->with('li',$list);
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create() //弹出一个视图,提供输入信息的界面
    {
        //
        // $str='这是create方法';
        // echo $str; 

        return view('Stu.create');//Stu.create
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)//从create界面获取信息,实现insert into功能
    {
        $data=$request->only('name','class','address');

        //var_dump($data);
        $stum=new StuModel();//创建模型对象
        $stum->add($data);//调用对象方法
        return redirect('xue');//返回给视图

    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)//根据id进行查询,select*from 表名 where id = $id
    {
        //
        $str ="这是show方法";
        echo $str;
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)//编辑页面,
    {

        $stum=new StuModel();

        $one=$stum->getone($id);

        //var_dump($one);
        return view('Stu.edit')->with('one',$one);

    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)//更改数据,
    {

        $data=$request->only('name','class','address');//获取批量数据

            $stum=new StuModel();
            $stum->updatedata($data,$id);

            return redirect('/xue');

    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {

        //echo($id);
        $stum=new StuModel();
        $stum->del($id);
        return redirect('/xue');
    }
}

V:views视图,呈现结果页面

index.blade.php//学生列表页面



    
        
      
    
    
        
{{csrf_field()}} @foreach($li as $one) @endforeach
学生列表
id 姓名 班级 地址 操作 修改
{{$one->id}} {{$one->name}} {{$one->class}} {{$one->address}} {{csrf_field()}} {{method_field('delete')}} 编辑
返回

create.blade.php//添加学生信息页面



    
        
      
    
    
        
{{csrf_field()}}//表单令牌
添加学生
姓名
班级
地址

edit.blade.php//编辑学生信息页面



    
        
        

        Laravel

        
        

        
        
    
    
        @if($errors->count() > 0)
        {{$errors->first()}}
        @endif
     
{{csrf_field() }} {{method_field('patch')}}//给表单增加一个patch请求
编辑学生
姓名
班级
地址

你可能感兴趣的:(php,数据库开发,mysql,架构)