删除
<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" οnchange="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" οnclick="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());
}