ecshop之添加分类选择父类下来修改为联动

<tr>
        <td class="label">{$lang.parent_id}:</td>
        <td>
          <select class="c_parent" name="parent[]" οnchange="select_children(this)">
            <option value="0">{$lang.cat_top}</option>
          </select>
          
          {if $cat_list}
          <select class="c_parent" name="parent[]" οnchange="select_children(this)">
            <option value="0">请选择</option>
            {$cat_list}
          </select>
          {/if}


          {if $cat_parent_list}
            {if $cat_parent_list.parent}
              {foreach from=$cat_parent_list.parent item=val}
                <select class="c_parent" name="parent[]" οnchange="select_children(this)">
                  <option value="0">请选择</option>
                  {$val}
                </select>
              {/foreach}
            {/if}
            {if $cat_parent_list.child}
              <select class="c_parent" name="parent[]" οnchange="select_children(this)">
                  <option value="0">请选择</option>
                  {$cat_parent_list.child}
                </select>
            {/if}
          {/if}




          <input type="hidden" name="parent_id" id="parent_id" value="{$cat_info.parent_id}" />
        </td>

      </tr>



//2016-1-30 Donald 获取子分类
function get_cat_child($parent_id, $selected_id=0)
{
    $res = $GLOBALS['db']->getAll("SELECT cat_id, cat_name FROM " .$GLOBALS['ecs']->table('category') ." WHERE parent_id=".$parent_id );
    $options = "";
    if($selected_id>0)
    {
        foreach ($res as $key => $val) 
        {
            if($selected_id == $val['cat_id'])
            {
                 $options .="<option selected='selected' value=".$val['cat_id'].">".$val['cat_name']."</option>";
            }else
            {
                 $options .="<option value=".$val['cat_id'].">".$val['cat_name']."</option>";
            }
           
        }
    }else
    {
       foreach ($res as $key => $val) 
        {
            $options .="<option value=".$val['cat_id'].">".$val['cat_name']."</option>";
        }
    }
    return $options;
}


//2016-10-14 Donald 递归获取父类
//获取所有父类的分类
function get_cat_parent($self_id,$cat_id,$result=array()){


    //定义数据
    $options = "";
    if($self_id>0){
        //查询同父类的数据
        $level_cat_info = $GLOBALS['db']->getAll("SELECT cat_id,cat_name FROM ".$GLOBALS['ecs']->table('category')." WHERE parent_id=".$cat_id);
        
        //数据格式化
        foreach($level_cat_info as $key=>$val){  
            if($self_id == $val['cat_id'])
            {
                 $options .="<option selected='selected' value=".$val['cat_id'].">".$val['cat_name']."</option>";
            }else
            {
                 $options .="<option value=".$val['cat_id'].">".$val['cat_name']."</option>";
            }
        }
        //数据保存
        $result[$cat_id] =  $options;
        //下一个父类的数据
        $parent_id = $GLOBALS['db']->getOne("SELECT parent_id FROM ".$GLOBALS['ecs']->table('category')." WHERE cat_id=".$cat_id);
        
        $result =  get_cat_parent($cat_id,$parent_id,$result); 
    }
    return $result;


}






//2016-10-14 Donald 获取编辑时的分类联动
function edit_category_list($cat_id,$parent_id){
    //获取子分类
    $child = get_cat_child($cat_id);
    //递归获取父类
    $parent = get_cat_parent($cat_id,$parent_id);
    $parent = array_reverse ($parent);//倒序数据数组
    
    $arr['child'] = $child;
    $arr['parent'] = $parent;
   
    return $arr;


}



add:

$cat_list = get_cat_child(0);
    $smarty->assign('cat_list',     $cat_list);


edit:

 $cat_parent_list = edit_category_list($cat_id, $parent_id);
    $smarty->assign('cat_parent_list', $cat_parent_list);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值