php tp 教材,PHP TP框架

本文详细介绍了ThinkPHP框架中控制器的命名空间使用规范,强调命名空间需在所有PHP代码之前声明,并与实际控制器文件路径保持一致。文章通过实例展示了如何在AdminController中进行数据查询、分页显示、角色管理等操作,包括添加、编辑、删除用户的方法。同时,涉及到了模型、分页类、条件查询等关键概念。
摘要由CSDN通过智能技术生成

* ThinkPHP的命名空间使用规范。注意:命名空间定义必须写在所有的PHP代码之前声明,否则会出错

* 命名空间和实际的控制器文件所在的路径是一致的,*/namespace Admin\Controller;useAdmin\Controller\CommonController;useOrg\Util\Rbac;class AdminController extendsCommonController {protected $page_num = 10;public functionindex(){$status = I(‘status‘, 0);$keyword = I(‘keyword‘, ‘‘);$list = array();$where = array();if ($status) {$where[‘status‘] = $status;

}$this->assign(‘status‘, $status);if ($keyword) {$where[‘adminname‘] = array(‘like‘, "%{$keyword}%");

}$this->assign(‘keyword‘, $keyword);$model = D(‘Admin‘);$count = $model->where ($where)->count (); //查询满足要求的总记录数

$page = new \Admin\Org\Page ($count, $this->page_num); //实例化分页类 传入总记录数和每页显示的记录数

// 进行分页数据查询 注意limit方法的参数要使用Page类的属性

$order = ‘id asc‘;$list = $model->where($where)->order($order)->limit($page->firstRow.‘,‘.$page->listRows)->select();$show = $page->pageShow (); //分页显示输出

$this->assign ( ‘list‘, $list ); //赋值数据集

$this->assign ( ‘page‘, $show ); //赋值分页输出

$this->display(); //输出模板

}public functionadmin_add(){$id = I(‘id‘, 0);$model = D(‘Admin‘);$info = false;$role_user = array();if ($id) {$info = $model->find($id);//角色与用户关系

$role_user = D(‘Role_admin‘)->where(array(‘admin_id‘ => $id))->getField(‘role_id‘, true);

}$role_list = D(‘Role‘)->where(array(‘status‘ => 1))->select();if ($role_list) {foreach ($role_list as &$val) {if (in_array($val[‘id‘], $role_user)) {$val[‘is_selected‘] = 1;

}else{$val[‘is_selected‘] = 0;

}

}

}$this->assign(‘role_list‘, $role_list);$this->assign(‘info‘, $info);$this->display();

}public functionsave(){$id = I(‘id‘, 0);$adminname = I(‘adminname‘, ‘‘);$password = I(‘password‘, ‘‘);$re_password = I(‘re_password‘, ‘‘);$role_id = I(‘role_id‘, array());if (empty($adminname)) {$this->out(‘error‘, ‘请填写用户名‘);

}$model = D(‘Admin‘);//验证通过 可以进行其他数据操作

unset($_POST[‘role_id‘]);if (empty($id)) {$_POST[‘password‘] = md5($password);$_POST[‘re_password‘] = md5($re_password);$_POST[‘add_time‘] = time();$tmp = $model->create();if (!$tmp){//如果创建失败 表示验证没有通过 输出错误提示信息

$this->out(‘error‘, $model->getError());

}$result = $model->add();$id = $result;

}else{$where[‘adminname‘] = $adminname;$where[‘id‘] = array(‘neq‘, $id);$info = $model->where($where)->find();if ($info) {$this->out(‘error‘, ‘该名称已经存在了!‘);

}if (!empty($password) && !empty($re_password)) {if ($password != $re_password) {$this->out(‘error‘, ‘密码与确认密码不一致!‘);

}$_POST[‘password‘] = md5($password);unset($_POST[‘re_password‘]);

}else{unset($_POST[‘password‘]);unset($_POST[‘re_password‘]);

}$result = $model->save($_POST);

}$model_role_admin = D(‘Role_admin‘);//先删除,再插入 ,角色与用户对应关系

$resu = $model_role_admin->where(array(‘admin_id‘ => $id))->delete();if ($role_id) {if ($role_id) {foreach ($role_id as $val) {$data[‘role_id‘] = $val;$data[‘admin_id‘] = $id;$re = $model_role_admin->data($data)->add();

}

}

}if ($result || $resu || $re) {$this->out(‘ok‘, ‘保存成功‘);

}else{$this->out(‘error‘, ‘保存失败‘);

}

}//用户删除 加入回收站

public functiondelete(){$id = I(‘id‘, 0);if (empty($id)) {$this->out(‘error‘, ‘请选择要删除的记录!‘);

}$model = D(‘Admin‘);$arr = explode(‘,‘, $id);$data[‘id‘] = array(‘in‘, $arr);$data[‘status‘] = 2;$result = $model->save($data);if ($result) {$this->out(‘ok‘, ‘删除成功‘);

}else{$this->out(‘error‘, ‘删除失败‘);

}

}//用户还原

public functionreduction(){$id = I(‘id‘, 0);if (empty($id)) {$this->out(‘error‘, ‘请选择要还原的记录!‘);

}$model = D(‘Admin‘);$arr = explode(‘,‘, $id);$data[‘id‘] = array(‘in‘, $arr);$data[‘status‘] = 1;$result = $model->save($data);if ($result) {$this->out(‘ok‘, ‘还原成功‘);

}else{$this->out(‘error‘, ‘还原失败‘);

}

}//用户彻底删除

public functiondelete_really(){$id = I(‘id‘, 0);if (empty($id)) {$this->out(‘error‘, ‘请选择要还原的记录!‘);

}$model = D(‘Admin‘);$arr = explode(‘,‘, $id);$data[‘id‘] = array(‘in‘, $arr);$result = $model->where($data)->delete($data);if ($result) {$this->out(‘ok‘, ‘还原成功‘);

}else{$this->out(‘error‘, ‘还原失败‘);

}

}

}

复制代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值