2010-03-24 74 views
6

希望使用类似于这个演示的东西,可以在两栏之间和栏目之间拖动项目,并且可以实时或通过“保存”按钮更新它们的顺序。要点是您可以稍后进行更改并返回页面以查看或更新您的订购。jQuery连接的可排序列表,保存到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 
} 
+0

可以看到你们的代码,所以我们可以看到你在哪里出了错? – mcgrailm 2010-03-24 17:57:55

+0

我编辑显示jQuery和html代码。我想我的问题是关于如何将序列化数据从此传递到php插入/更新脚本。 – noahkuhn 2010-03-24 18:02:38

+0

你究竟在哪里遇到问题是序列化的数据没有正确格式化,或者你只是不确定如何将发布的数据存入数据库? – mcgrailm 2010-03-24 18:06:25

回答

7

什么,我会做的是,当你发布你可以把它们再分裂

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

通用电器t是请求,并将其设置为需要的,我希望是有道理的

所以我要做的就是这个

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

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

这是有道理的,回复:你的问题上面关于我的问题,我想现在我知道我可以将序列化的数据拆分为两个段,他们现在通过$ _POST ['sort1']和$ _POST ['sort2' ]?我“认为”如果这样做的话,我应该全部定下来。感谢您及时的回复。 – noahkuhn 2010-03-24 18:21:49

+0

yes id does,happy to help 8 ^) – mcgrailm 2010-03-24 18:26:27

+0

最后一个问题......是获取数组值插入到db中的正确循环:foreach($ _ POST ['sort1'] as $ key => $ value) {做到这一点}以为我明白这应该如何工作...... – noahkuhn 2010-03-24 18:31:31

相关问题