jQuery连接可排序列表,将订单保存到MySQL

noa*_*uhn 6 php mysql jquery jquery-ui-sortable

希望使用类似这个演示的东西,可以在两列内部和两列之间拖动项目,并将实时或使用"保存"按钮更新到MySQL.重点是您可以进行更改并稍后返回页面以查看或更新您的订购.

http://pilotmade.com/examples/draggable/

只为一列做这件事很好,但是当我尝试传递两列的顺序时,问题似乎是将带有jQuery的多个序列化数组传递给PHP/MySQL更新脚本.

任何见解都会非常感激.

如果你看下面,我想通过说...

sortable1
entry_1 => 0
entry_5 => 1

sortable2
entry_3 => 0
entry_2 => 1
entry_4 => 2

编辑:这最终成功了

HTML

<ol id="sortable1"><li id="entry_####">blah</li></ol>
Run Code Online (Sandbox Code Playgroud)

jQuery的

<script type="text/javascript">
$(function() 
{
    $("#sortable1, #sortable2").sortable(
    {
        connectWith: '.connectedSortable',
        update : function () 
        { 
            $.ajax(
            {
                type: "POST",
                url: "phpscript",
                data: 
                {
                    sort1:$("#sortable1").sortable('serialize'),
                    sort2:$("#sortable2").sortable('serialize')
                },
                success: function(html)
                {
                    $('.success').fadeIn(500);
                    $('.success').fadeOut(500);
                }
            });
        } 
    }).disableSelection();
});
Run Code Online (Sandbox Code Playgroud)

这是PHP查询

parse_str($_REQUEST['sort1'], $sort1);
foreach($sort1['entry'] as $key=>$value)
{
do stuff
}
Run Code Online (Sandbox Code Playgroud)

mcg*_*ilm 7

我要做的就是将它们分开

   data    :
    {
      sort1:$('#sortable1').sortable('serialize'),
      sort2:$('#sortable2').sortable('serialize')
    }
Run Code Online (Sandbox Code Playgroud)

然后当你发布时你可以得到请求并根据需要设置它们,我希望这是有道理的

所以我做的就是这个

parse_str($_REQUEST['sort1'],$sort1); 

foreach($sort1 as $key=>$value){
    //do sutff;
}
Run Code Online (Sandbox Code Playgroud)