标题:Thinkphp实战教程-会员管理系统part2
-------------------------------------------------------------------------------------------------------------------------------
时间:2018/2/25 14:39:41
-------------------------------------------------------------------------------------------------------------------------------
内容:
后端部分
user控制器内的方法
showadd显示添加会员页面
add用来吧showadd表单的信息添加到数据库
public function showadd(){//显示增加信息页面
$this->display();//显示模板showadd.html
}
public function add(){//增加会员信息
$data['name']=$_POST['name'];//将表单post过来的变量赋值给数组 方便之后add方法使用
$data['age']=$_POST['age'];
$data['sex']=$_POST['sex'];
$data['department']=$_POST['department'];
if(in_array('', $data)){//判断变量中是否有为空的 则说明信息不完整
$msg="missing information";//创建提示信息变量
}
else{//输入的信息完整
$user=M('user');//创建数据库对象user
$user->add($data);//使用数据库对象的add方法将数据写入
$msg="You have insert new user
succefully";//创建提示信息变量
}
$this->assign("msg",$msg);
//变量传递到模板中 后可以在html中使用{$msg} 调用
$this->display('showadd'); //渲染模板
}
前端部分
showadd实现的功能和login类似,需要把表单信息传递到数据库中即可 所以不需要在页面上增加别的变量,修改模板的原则是先删再改 这样可以降低代码的阅读量
删除顶部导航栏
查看源代码发现关于顶部的都在注释内
<!-- start: Header Menu -->
<!-- end: Header Menu -->
整个删除即可,佩服创建模板的人,考虑的比较周全
删除后记得预览
删除左边导航 只保留form和update
查看源代码发现关于左部的都在注释内
<!-- start: Main Menu -->
<!-- end: Main Menu -->
每个栏目都包含在li标签内,我们保留form和table标签 其他li都删除
删除后记得预览
修form菜单为 添加会员 修改url为 showadd.html
修改table菜单为会员总览 修改url为showall.html
删除右边内容 只保留form表单里面的input元素
查看源代码发现关于左部的都在注释内
<!-- start: Content-->
<!-- end: Content-->
发现有3个表单都在div
<div class="row-fluid sortable">里面
删除第1和第3个
在保留的表单中 删除多余的元素 只保留
Input with success//作为用户名 年龄的容器
Plain Select//作性别的容器
Modern Select//作部门的容器 可以搜索
以及按钮
进行相应的修改
为了保证画面的可读性我使用了图片来显示代码
都是一些基本功 注意表单元素的名称和数据库字段对应 注意下拉框增加value和name
form 的action是add method是post方式
在h2标签 增加msg变量
<h2><i class="halflings-icon white edit"></i><span
class="break"></span>{$msg}</h2>
后端部分
主要是再showadd基础上修改,节省衡多代码 多了一个从数据库中查询数据的方法
这里要注意 使用find而不是select 才能返回一个一维数组
并且注意save方法必须加where
并且id是数字变量 不要引号
public
function showupdate(){//显示更新信息页面
$id=$_GET['id']; //通过URL获取id
$user=M('user');
$userinfo=$user->where("id=$id
")->find();//!!一定要使用find 才是唯一结果 否则无法获得通过{$userinfo.age}获得任何值
$this->assign('userinfo',$userinfo);
$this->display();//显示模板showupdate.html
}
public function update(){//修改会员信息
$data['name']=$_POST['name'];//将表单post过来的变量赋值给数组 方便之后update方法使用
$data['age']=$_POST['age'];
$data['sex']=$_POST['sex'];
$data['department']=$_POST['department'];
$id=$_POST['id'];
if(in_array('', $data)){//判断变量中是否有为空的 则说明信息不完整
$msg="missing information";//创建提示信息变量
}
else{//输入的信息完整
$user=M('user');//创建数据库对象user
$user->where("id='$id'")->save($data);//使用数据库对象的save方法将数据写入 必须使用where才能用save 然后id是数字 不带引号
$msg="You have update new user
succefully";//创建提示信息变量
}
$this->assign("msg",$msg);
//变量传递到模板中 后可以在html中使用{$msg} 调用
$this->display('showupdate'); //渲染模板
}
前端部分
我们直接在前面showadd的基础上修改及可
不需要重新在删除写多余的内容
注意这里action 的路径 __APP__
同时我们使用<eq > 变量是不需要加{} 和$
后端部分
public function showall(){//显示所有信息页面
$user=M('user');
$users=$user->select();//选择所有数据到users里面
$this->assign('users',$users);
$this->display();//显示模板showupdate.html
}
前端部分
参照之前的修改方法 修改导航栏及内容
保留第一行数据 使用volist即可
修改删除和更新和添加的URL
多写一个
public function
delete(){//修改会员信息
$id=$_GET['id'];
$user=M('user');//创建数据库对象user
$user->where("id=$id")->delete();//使用数据库对象的save方法将数据写入 必须使用where才能用save 然后id是数字 不带引号
$this->redirect('user/showall'); //渲染模板
}
可以参考的别人的文章
http://blog.csdn.net/ruby97/article/details/7574851/