拖拽排序的问题

2016-07-04 20:53:23 +08:00
 444683462

逻辑我是按照这样的逻辑

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");
        }
        ```
        
        这样逻辑对吗
1012 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/290245

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX