TP--商品管理-删除、修改
2015-12-14 12:15
471 查看
删除
<a href="javascript:del(url)">删除</a>
function del(url){
if(confirm("确认删除这个分类?")){
//直接跳转界面
location.href = url;
}
}
记住 商品详情表的外键类型改为cascade 删除商品表的时候 这个数据会自动删除
修改
<a href="{:U('Goods/edit',array('id'=>$vo['id']))}" class="J_showdialog">编辑</a>
在GoodsController中 先做查询
public function edit(){
语句1:
$id = I("get.id",1,"int");
$goods = D("GoodsView");
$data = $goods->where("goods.id=".$id)->find();
$cate = D("Cate");
//print_r($data);
$cate_data = $cate->get_list();//查询一级分类
$this->assign("data",$data);
$this->assign("cate_data",$cate_data);
$this->display();
}
<select class="J_cate_select mr10" onchange="change_cate()" id="p_id">
<foreach name="cate_data" item="v">
<option value="{$v.id}"
<if condition="$data['p_id'] eq $v['id']"> selected</if>
>{$v.name}</option>
</foreach>
</select>
<select class="J_cate_select mr10" name="cate_id">
</select>
var cate_id = {$data.cate_id};//把商品的原始id放入js 方便我们下面ajax回填时判断
function change_cate(){ //以前有参数o 是this,现在把参数去掉,在标签上添加id=""
var p_id = $("#p_id").val();
$.post("{:U('Goods/change_cate')}",{cate_id:p_id},function(data){
if(data.error==-2){
alert(data.msg);
}else{
var str = '';
$.each(data,function(k,v){
if(v.id == cate_id){
str += '<option value="'+ v.id+'" selected>'+ v.name+'</option>';
}else{
str += '<option value="'+ v.id+'">'+ v.name+'</option>';
}
})
$("select[name='cate_id']").html(str);
}
},"json")
}
change_cate();//页面加载完 就自己调用一次
<input type="button" onclick="window.history.back(-1);" value="返回" class="btn">
然后在提交之后用 if(IS_POST){语句2}else{语句1}
语句2:
$goods = D("Goods");
$id = I("post.id",0,"int");
if($goods->create()){
$model = new Model();//实例化一个空的模型类
$model->startTrans();//开启事务]
if($goods->where("id=".$id)->save()!== false){
$data['content'] = I("post.content","","");
$goods_detail = M("goods_detail");
//因为add方法要求传入的是数组,所有我们上面把两个变量都放入$data这个数组
if($goods_detail->where("goods_id=".$id)->save($data)!==false){
$model->commit();//都执行城的时候 我们直接提交数据
$this->success("修改成功",U('Goods/index'));
}else{
$model->rollback();//如果失败回滚
$this->error("修改失败",U('Goods/index'));
}
}else{
$model->rollback();//如果失败回滚
$this->error("修改失败",U('Goods/index'));
}
}else{
$this->error($goods->getError());
}
<a href="javascript:del(url)">删除</a>
function del(url){
if(confirm("确认删除这个分类?")){
//直接跳转界面
location.href = url;
}
}
记住 商品详情表的外键类型改为cascade 删除商品表的时候 这个数据会自动删除
修改
<a href="{:U('Goods/edit',array('id'=>$vo['id']))}" class="J_showdialog">编辑</a>
在GoodsController中 先做查询
public function edit(){
语句1:
$id = I("get.id",1,"int");
$goods = D("GoodsView");
$data = $goods->where("goods.id=".$id)->find();
$cate = D("Cate");
//print_r($data);
$cate_data = $cate->get_list();//查询一级分类
$this->assign("data",$data);
$this->assign("cate_data",$cate_data);
$this->display();
}
<select class="J_cate_select mr10" onchange="change_cate()" id="p_id">
<foreach name="cate_data" item="v">
<option value="{$v.id}"
<if condition="$data['p_id'] eq $v['id']"> selected</if>
>{$v.name}</option>
</foreach>
</select>
<select class="J_cate_select mr10" name="cate_id">
</select>
var cate_id = {$data.cate_id};//把商品的原始id放入js 方便我们下面ajax回填时判断
function change_cate(){ //以前有参数o 是this,现在把参数去掉,在标签上添加id=""
var p_id = $("#p_id").val();
$.post("{:U('Goods/change_cate')}",{cate_id:p_id},function(data){
if(data.error==-2){
alert(data.msg);
}else{
var str = '';
$.each(data,function(k,v){
if(v.id == cate_id){
str += '<option value="'+ v.id+'" selected>'+ v.name+'</option>';
}else{
str += '<option value="'+ v.id+'">'+ v.name+'</option>';
}
})
$("select[name='cate_id']").html(str);
}
},"json")
}
change_cate();//页面加载完 就自己调用一次
<input type="button" onclick="window.history.back(-1);" value="返回" class="btn">
然后在提交之后用 if(IS_POST){语句2}else{语句1}
语句2:
$goods = D("Goods");
$id = I("post.id",0,"int");
if($goods->create()){
$model = new Model();//实例化一个空的模型类
$model->startTrans();//开启事务]
if($goods->where("id=".$id)->save()!== false){
$data['content'] = I("post.content","","");
$goods_detail = M("goods_detail");
//因为add方法要求传入的是数组,所有我们上面把两个变量都放入$data这个数组
if($goods_detail->where("goods_id=".$id)->save($data)!==false){
$model->commit();//都执行城的时候 我们直接提交数据
$this->success("修改成功",U('Goods/index'));
}else{
$model->rollback();//如果失败回滚
$this->error("修改失败",U('Goods/index'));
}
}else{
$model->rollback();//如果失败回滚
$this->error("修改失败",U('Goods/index'));
}
}else{
$this->error($goods->getError());
}
相关文章推荐
- PHP7新增 功能
- PHP工具插件大全
- TP--商品管理--添加,查询
- php 实现支付宝接口
- PHP-连接MySql常用命令及步骤总结
- [转载]ROS下的PPTP配置
- iis7+php5.6配置404错误页面的问题
- Laravel 5.1 事件、事件监听的简单应用
- phpwind 帖子内图片缩放
- php foreach 意外情况简述
- 很全的php数组操作方法
- FTP的主动和被动模式详解
- FTP的主动和被动模式详解
- PHP Multipart/form-data remote dos Vulnerability
- PHP:var_dump展示不全
- PHP5.2至5.6的新增功能详解
- php类中的$this,static,final,const,self这几个关键字使用方法
- PHP中PDO的基础使用实例
- tp导出excel
- Yii技巧大全(摘录)