首页 > 拖拽排序的问题

拖拽排序的问题

逻辑我是按照这样的逻辑

ajax发送三个字段到后端
每次获取当前要拖动元素的id:startid
拖动后元素位置的上一个或下一个兄弟元素的id:endid
isone:等于0就是移动到了第一行 否则就没有

    $startid=trim(I('get.startid'));
        $endid=trim(I('get.endid'));
        $isone=trim(I('get.isone')); //是否移动到了第一个  0就是移动到了第一个

        $m=M('master_tips');
        $startsort=$m->where("mastertips_id =$startid")->getField("mastertips_sort");
        $endsort=$m->where("mastertips_id =$endid")->getField("mastertips_sort");

        if($isone==0) {
            $result = $m->where("mastertips_id = $startid")->setField("mastertips_sort", $endsort);
            $con['mastertips_id'] = array(array('egt', $endid), array('lt', $startid));
            $result2 = $m->where($con)->setInc("mastertips_sort", 1);

        }else if($startsort>$endsort){
            //基本正常
            $result=$m->where("mastertips_id = $startid")->setField("mastertips_sort",$endsort+1);
            $con['mastertips_id'] = array(array('gt', $endid), array('lt', $startid));
            $result2=$m->where($con)->setInc("mastertips_sort");
        }else{

            $result=$m->where("mastertips_id = $startid")->setField("mastertips_sort",$endsort);
            $con2['mastertips_id'] = array(array('gt', $startid), array('elt', $endid));
            $result2=$m->where($con2)->setDec("mastertips_sort");
        }

大家帮我看看逻辑上正确吗

【热门文章】
【热门文章】