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

时间:2010-03-24 17:09:42

标签: php jquery mysql 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>

的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();
});

这是PHP查询

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

1 个答案:

答案 0 :(得分:7)

我要做的就是拆分它们

   data    :
    {
      sort1:$('#sortable1').sortable('serialize'),
      sort2:$('#sortable2').sortable('serialize')
    }

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

所以我做的就是这个

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

foreach($sort1 as $key=>$value){
    //do sutff;
}