可排序会扰乱我的数据库排序

时间:2013-01-09 16:07:05

标签: php javascript jquery mysql jquery-ui-sortable

我使用Jquery UI作为前端,PHP使用MYSQL作为后端。当我第一次打开排序页面时出现了问题,它弄乱了我的整个订单。例如:

id|text|orderid|
----------------  
1 |abc |2      |  
2 |bca |4      |  
3 |zxc |6      |  
4 |qwe |3      |  
5 |ads |1      |  
6 |iul |5      |  

成为:

id|text|orderid|
----------------
1 |abc |5      |  
2 |bca |1      |  
3 |zxc |3      |  
4 |qwe |6      |  
5 |ads |4      |  
6 |iul |2      |  

我的index.php(HTML + JS):http://pastebin.com/5F66ncVF
我的updatedb.php(PHP和mysql查询):http://pastebin.com/3zhRvgvB

请帮助?

1 个答案:

答案 0 :(得分:0)

没有时间真正查看您的数据,但这是我用来获取我的ajax调用数据的方法:

var data = $('ol.sortable').nestedSortable('toHierarchy', {startDepthCount: 1});

我明确设置了句柄和项目,因此可排序知道从哪里获取数据:

$('ol.sortable').nestedSortable({
    handle: 'div',
    items: 'li',
    ...

为了进行调试,我使用console.log(data);

向此发送数据
//for nested sortable
function dump(arr,level) {
    var dumped_text = "";
    if(!level) level = 0;

    //The padding given at the beginning of the line.
    var level_padding = "";
    for(var j=0;j<level+1;j++) level_padding += "    ";

    if(typeof(arr) == 'object') { //Array/Hashes/Objects
        for(var item in arr) {
            var value = arr[item];

            if(typeof(value) == 'object') { //If it is an array,
                dumped_text += level_padding + "'" + item + "' ...\n";
                dumped_text += dump(value,level+1);
            } else {
                dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
            }
        }
    } else { //Strings/Chars/Numbers etc.
        dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
    }
    return dumped_text;
}

也许首先尝试一下,如果不是,我可以进一步研究你的代码......