ThinkPhp下的项目后台功能思路
2017-02-23 15:26
525 查看
一。商品列表-基础
第一步,先实例化你要查询的表比如表名叫做products,则使用$model = M(‘Products’);或者$model = D(“Products”);注意表名的第一个字母要大写!!
第二步、执行model的select方法比如$model->select(); 如果有查询条件则使用$model->where(array());->select();
第三步、把上面查询的结果传递给模版,比如: $this->assign(‘ret’, $products);
第四步、在对应的列表页模版根据上面传递的值循环显示查询的结果,注意的是列表里面需要使用循环
{$p.name} {$p.id}
二、商品列表-查询
第一步、找到你要查询的表单模版,如果没有form,刚周围使用form包起来,并且给form加上post,action,给input 每个表单增加id和name属性,给搜索按钮增加$(‘#form1’).submit();
第二步、到商品列表页获取提交过来的表单name值,比如I(‘post.name’);
第三步、把以上获取所有的字段组合起来放在一个查询条件数组里面比如
$condition = array();
if ($name) {
$condition[“name”] = array(“like”, “%{$name}%”);
$ret[“name”] = $name;
}
if ($cate1) {
$condition[“cate1”] = $cate1;
}
第四步、把以上的查询条件$condition放在原来的查询语句里面比如:
$productModel->where($condition)->order(“id desc”)->select();
三、全选或者取消全选
第一步。给控件全选的checkbox增加点击事件
第二步、最好给所有将要选听checkbox增加一个类名比如class=’chk_select’
第三步、判断当前点击的checkbox是否被选中,如果选中,刚把.chk_select:checked的checked属性赋值否则删除该属性
四、批量上下架
第一步、使用js获取当前选中checkbox的值,把这些值呢使用一个js的变量储存,使用井号隔开比如:2,45,56,
第二步。把上面得到的值使用ajax发送给新的处理页面
第三步、处理页面得到值进行sql更新,处理完成之后返回类似的提示
echo json_encode(array(“status” => 1, “info” => “成功{$text}了”));
五、增加商品
第一步、同样给表单添加form的外标签包起来,给每个表单增加id,name,给提交按钮增加$(‘#form1’).submit();
第二步、处理页面先实例化Model表的对象,比如$product = D(‘Products’);创建一个该类的model.class.php,比如
ProductsModel.class.php ,里面做一些必填项或者自动填写的功能
第三步使用 以下代码实现添加功能,如果有编辑则必须在表单里面增加一个隐藏表单id,
if (IS_POST) {
if (!$products->create()) {
$this->error($products->getError());
}
if (!I(“post.id”)) {
$ret = $products->add();
} else {
$ret = $products->save();
}
}
六、商品分类的二级联动选择功能
第一步。要在model.class.php里面把一级二级类别全部都定义好比如,然后传递给模版
public static $cate1 = array(
1 => “水果”,
2 => “酒水”,
3 => “粮油”
);
public static $cate2 = array(
1 => array(
1001 => “进口水果”,
1002 => “夏天水果”,
1003 => “冬天水果”,
),
2 => array(
2001 => “白酒”,
2002 => “红酒”,
2003 => “啤酒”,
),
3 => array(
3001 => “金龙鱼”,
3002 => “花生油”,
3003 => “大豆油”,
)
);
第二步 模版得到以上数据时全,1级类别正常显示,并且给每一个li增加一个属性比如attr_id来保存他当前的id
二级类别则全部默认不显示 ,并且每个二级类别的名字一定要和一级类别有关系,比如id=”ul_cates2_100″,这个
100就是对应1级类别的名字
第三步、点击一级类别是获取它的attr_id,100根据这个值来找到他对应的二级类别,把ul_cates2_和取到的100
进行组合就获到了二级类别的标签,则把全部二级类别隐藏,把刚刚得到的标签显示
http://document.thinkphp.cn/manual_3_2.html
必会菜单包括: 控件器、模型、视图、模版
七。网站登陆退出功能
1. 肯定要有用户表了,然后填写登陆框相关的表单信息,比如用户名,密码啦,form增加post,action
2. 程序接收上面的username,password值以后呢,查询表信息,如果存在则记录到session跳转到指定页面
3. 退出呢则是清空session的值,跳转到登陆页面
4. 页面显示session的信息使用$Think.session.user_name
第一步,先实例化你要查询的表比如表名叫做products,则使用$model = M(‘Products’);或者$model = D(“Products”);注意表名的第一个字母要大写!!
第二步、执行model的select方法比如$model->select(); 如果有查询条件则使用$model->where(array());->select();
第三步、把上面查询的结果传递给模版,比如: $this->assign(‘ret’, $products);
第四步、在对应的列表页模版根据上面传递的值循环显示查询的结果,注意的是列表里面需要使用循环
{$p.name} {$p.id}
二、商品列表-查询
第一步、找到你要查询的表单模版,如果没有form,刚周围使用form包起来,并且给form加上post,action,给input 每个表单增加id和name属性,给搜索按钮增加$(‘#form1’).submit();
第二步、到商品列表页获取提交过来的表单name值,比如I(‘post.name’);
第三步、把以上获取所有的字段组合起来放在一个查询条件数组里面比如
$condition = array();
if ($name) {
$condition[“name”] = array(“like”, “%{$name}%”);
$ret[“name”] = $name;
}
if ($cate1) {
$condition[“cate1”] = $cate1;
}
第四步、把以上的查询条件$condition放在原来的查询语句里面比如:
$productModel->where($condition)->order(“id desc”)->select();
三、全选或者取消全选
第一步。给控件全选的checkbox增加点击事件
第二步、最好给所有将要选听checkbox增加一个类名比如class=’chk_select’
第三步、判断当前点击的checkbox是否被选中,如果选中,刚把.chk_select:checked的checked属性赋值否则删除该属性
四、批量上下架
第一步、使用js获取当前选中checkbox的值,把这些值呢使用一个js的变量储存,使用井号隔开比如:2,45,56,
第二步。把上面得到的值使用ajax发送给新的处理页面
第三步、处理页面得到值进行sql更新,处理完成之后返回类似的提示
echo json_encode(array(“status” => 1, “info” => “成功{$text}了”));
五、增加商品
第一步、同样给表单添加form的外标签包起来,给每个表单增加id,name,给提交按钮增加$(‘#form1’).submit();
第二步、处理页面先实例化Model表的对象,比如$product = D(‘Products’);创建一个该类的model.class.php,比如
ProductsModel.class.php ,里面做一些必填项或者自动填写的功能
第三步使用 以下代码实现添加功能,如果有编辑则必须在表单里面增加一个隐藏表单id,
if (IS_POST) {
if (!$products->create()) {
$this->error($products->getError());
}
if (!I(“post.id”)) {
$ret = $products->add();
} else {
$ret = $products->save();
}
}
六、商品分类的二级联动选择功能
第一步。要在model.class.php里面把一级二级类别全部都定义好比如,然后传递给模版
public static $cate1 = array(
1 => “水果”,
2 => “酒水”,
3 => “粮油”
);
public static $cate2 = array(
1 => array(
1001 => “进口水果”,
1002 => “夏天水果”,
1003 => “冬天水果”,
),
2 => array(
2001 => “白酒”,
2002 => “红酒”,
2003 => “啤酒”,
),
3 => array(
3001 => “金龙鱼”,
3002 => “花生油”,
3003 => “大豆油”,
)
);
第二步 模版得到以上数据时全,1级类别正常显示,并且给每一个li增加一个属性比如attr_id来保存他当前的id
二级类别则全部默认不显示 ,并且每个二级类别的名字一定要和一级类别有关系,比如id=”ul_cates2_100″,这个
100就是对应1级类别的名字
第三步、点击一级类别是获取它的attr_id,100根据这个值来找到他对应的二级类别,把ul_cates2_和取到的100
进行组合就获到了二级类别的标签,则把全部二级类别隐藏,把刚刚得到的标签显示
http://document.thinkphp.cn/manual_3_2.html
必会菜单包括: 控件器、模型、视图、模版
七。网站登陆退出功能
1. 肯定要有用户表了,然后填写登陆框相关的表单信息,比如用户名,密码啦,form增加post,action
2. 程序接收上面的username,password值以后呢,查询表信息,如果存在则记录到session跳转到指定页面
3. 退出呢则是清空session的值,跳转到登陆页面
4. 页面显示session的信息使用$Think.session.user_name
相关文章推荐
- 标准功能模块组件 -- “文档管理组件,网络文档管理,网络存储”,B\S版本组件可独立运行,也可集成到其他项目里,数据结构清晰思路严谨
- Android+ThinkPHP(后台)实现用户登录功能
- 夺命雷公狗ThinkPHP项目之----商城6数据库设计和完成后台首页
- spring roo 开发meavn项目(五)后台发送邮件功能
- 标准功能模块组件 -- “文档管理组件,网络文档管理,网络存储”,B/S版本组件可独立运行,也可集成到其他项目里,数据结构清晰思路严谨
- thinkphp 3.2.3 在项目中需要做的一个发送邮件的功能
- QTP的那些事--终极项目脚本设计思路及其测试查询功能的一些实际项目体会
- PHP开发的一个小小项目,记录下实现思路(附上实现功能的示例代码)(二)
- java 关于项目导出功能实现过程中遇到的问题及思路历程
- ThinkPHP--项目分组设置(前后台分组)
- 标准功能模块组件 -- “文档管理组件,网络文档管理,网络存储”,B/S版本组件可独立运行,也可集成到其他项目里,数据结构清晰思路严谨
- 针对Vue的后台权限功能实现思路(持续更新) 3ff8
- PHP开发的一个小小项目,记录下实现思路(附上实现功能的示例代码)(一)
- [thinkPHP5项目实战_20]友情链接功能完善
- 夺命雷公狗ThinkPHP项目之----企业网站3之后台栏目页的搭建(百度编辑器的引入)
- thinkphp添加后台的构思以及添加数据功能
- iwebshop框架中后台筛选功能的思路整理
- ThinkPhp3.2.3 多项目 后台 APP接口设计 框架设计
- [thinkPHP5项目实战_30]留言板功能完善
- [thinkPHP5项目实战_09]后台添加栏目及验证