2010-03-24 88 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

相關問題