jQuery подключенные сортируемые списки, сохранить заказ в MySQL - PullRequest
6 голосов
/ 24 марта 2010

Надеясь, что используя что-то подобное этой демонстрации, можно перетаскивать элементы внутри и между двумя столбцами и обновлять их порядок либо в режиме реального времени, либо с помощью кнопки «Сохранить» в 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 Ответ

7 голосов
/ 24 марта 2010

что я хотел бы сделать, это разделить их

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

тогда, когда вы отправляете сообщение, вы можете получить запрос и установить его при необходимости, надеюсь, это имеет смысл

так что я делаю, это

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

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