jquery Sortable Multiply列出保存到mySQL

时间:2013-03-30 18:04:37

标签: jquery ajax jquery-ui-sortable

我认为问题在于我没有通过序列号获取id号码?我从php看到的响应如下:

Array 
( 
    [sort1]=> menu[]=1&menu[]=2&menu2[]=3
    [sort2]=> menu2[]=4
)

不应该将每个菜单项编号为:menu [0],menu [1]等......?

下面是我的代码..

$(function() 
{
    $("#sortable1, #sortable2").sortable(
    {
    connectWith: '.connectedSortable',
    update : function () 
    { 
        $.ajax(
        {
            type: "POST",
            url: "sort_menu.php",
            data: 
            {
                sort1:$("#sortable1").sortable('serialize'),
                sort2:$("#sortable2").sortable('serialize')
            },
            error: function(res)
            {
            alert("theres an error "+ res);
            },
            success: function(res)
            {
            alert("theres a response "+ res);
            }
        });
    } 
    });
});

php:

    $result = mysql_query("SELECT * FROM menu WHERE crew='1' ORDER BY sort ASC") or die(mysql_error());
while($row = mysql_fetch_array($result)) {
echo "<li id=\"menu_".$row['id']."\">".$row['title']."</li>\n";
}

和接收ajax信息的表单

print_r($_POST);

$menu = $_REQUEST['sort1'];
for ($i = 0; $i < count($menu); $i++) {
mysql_query("UPDATE menu SET sort=" . $i . ", list='1' WHERE id='" . $menu[$i] . "'") or die(mysql_error());
}

0 个答案:

没有答案