thinkphp5oa管理系统
利用thinkphp5进行oa管理系统操作
(一)加载css,js等样式文件
如果想自己设置设置路径:index/config.php中view_replace_str
=>[“IMAGE“=>”/static/images”]
(二)找出公共部分
1)在view中设置public文件夹,用于存储公共样式**
2)Header.html | footer.html | navbar.html | sidenav.html | setting.html
3)在需要使用的文件中引入方法(自动定义到了view文件夹)
a.{include file=”public/header” title=’首页’}传递参数
b.在引用模板header.html中语句[title]
(三)部门操作(增删改查)
1)创建部门的控制器,视图文件
index/controller中创建Department.php文件,自定义index函数,用于显示首页
view创建department文件夹,创建index.html显示首页
2)创建部门控制器Department.php
namespace app\index\contoller;
use think\Controller;
class Department extends Controller{
//显示部门首页
//从数据库中读取数据,渲染到首页上(如果想使用分页符)
public function index(){
$lists=Db::table('depart')->select();
$this->assign('lists',$lists);
return view();--->意思是在view/department中生成index.html文件
}
//使用分页符的操作
public function index(){
$lists=Db::table('depart').pagination(2);//2表示页面显示的个数
$this->assign('lists',$lists);
return view();
}
//在index.html进行数据渲染,使用foreach循环
{foreach $lists as $item}
{$item.name}
{/foreach}
//使用分页符式,在最后使用
{$lists->render()}//(不是使用$Item)
}
```
3)部门添加操作
1.url路径设置,在模板中url路径–>{:url(‘控制器名/方法名’)}
相应的在Department控制器中就还有add函数用于显示部门添加页面;return view()–>在view/department文件中有一个名为add.html文件
注意点:1)使用form表单提交,要有name和value属性用于传值,
2)action用于url路径设置
3)单选框部分:设置name和value(为不同的值,以便区分)
4)save处理添加数据
1)获得用户输入的值
public function save(){
$param=input('post.');
}
2)进行表单验证(重要的一步)
步骤:1)在index文件夹下创建validate文件夹,在内创建Depart.php文件用于定义规则和信息
namespace app\index\validate;
use think\Validate;
class Depart extends Validate{
//定制规则
protected $rule=[
"name"=>"require|max:10",
"status"=>"require";
]
//定制返回信息
protected $message=[
"name.require"=>'部门名称不能为空',
"name.max"=>"部门名称不能超过10个字符",
'status.require'=>'部门状态不能为空'
]
}
2)在save方法中调用
1)引入Loader类
use think\Loader;
2)调用Loader的validate静态方法,传入自定义的验证类,调用check方法
$validate=Loader::validate('Depart');//depart是自己定义的
$info=$validate->check($param);//调用check方法对用户输入的数据进行验证,返回值的布尔类型
3)对结果进行判断,错误返回message信息,没有错误,数据库添加数据
if(!$info){
$this->error($validate->getError());
}
4)数据库添加数据,结果返回受影响的行数
use think\Db;
$result=Db::table('depart')->insert($param);
if($result===false){
$this->error('添加数据失败');
}else{
//重定向到部门首页,利用函数调用
$this->success('添加数据成功','Department/index');
}
5)修改部门数据步骤
1)url地址设置并传参:{:url('Department/edit',array('id'=>$info['id']))}
//显示修改页面
2)在控制器中书写edit方法用于显示修改页面
1).获取参数id,
2)根据id在数据库中查找
3)渲染修改页面
public function edit(){
$id=input('id');
$data=Db::table('depart')->find($id);
$this->assign('data',$data);
return view();
}
在edit.html页面中接受数据并进行模板渲染
{$data.name};
if条件语句:如果添加是状态等于1,输出checked
{if condition="$info['status'] eq 1"}checked{/if}
修改页面提交数据 :1)form表单提交 —>有name值
2)修改时根据id对数据库中数据进行修改,所以要传递id值
<input type='hidden' name='id' value='$info['id']'>//用于传递id数据
3)在Department控制器中创建modify函数,用于处理修改操作
public function modify(){
1)接收用户输入的数据,因为id是隐藏域,所以也会接收到
$param=input('post');
2)数据库修改数据,返回受影响的行数
$resule=Db::table('depart')->update($param);
if($result===false){
$this->error('修改数据失败')
}else{
$this->success('添加数据成功','Department/index');
}
}
6)删除部门操作步骤
public function delete(){
$id=input('id');
$result=Db::table('deaprt')->delete($id);
if($result){
$this->error('删除数据失败')
}else{
$this->success('删除数据成功','Department/index');
}
}
更多推荐
所有评论(0)