Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从字符串中提取信息并保存到数据库_Javascript_Php_Jquery_Jquery Ui - Fatal编程技术网

Javascript 从字符串中提取信息并保存到数据库

Javascript 从字符串中提取信息并保存到数据库,javascript,php,jquery,jquery-ui,Javascript,Php,Jquery,Jquery Ui,我有多个列,它们可以通过jqueryui进行排序。要在这些中保存的位置,我需要序列化数据 $(function() { $("ul.sortable").sortable({ connectWith: '.sortable', update: function(event, ui) { /* var position = $('.sortable').sortable('serialize', { key: 'menu',

我有多个列
,它们可以通过jqueryui进行排序。要在这些
中保存
  • 的位置,我需要序列化数据

    $(function() {
     $("ul.sortable").sortable({
        connectWith: '.sortable',
        update: function(event, ui) {
       /* var position = $('.sortable').sortable('serialize', {
                key: 'menu',
                connected: true
            });*/
        $('div').empty().html( $('.sortable').serial() );
        }
      });
    });
    
    
    (function($) {
    $.fn.serial = function() {
     var array = [];
     var $elem = $(this); 
        $elem.each(function(i) {
          var menu = this.id;
            $('li', this).each(function(e) {
                    array.push( menu + '['+e+']=' + this.id  );
            });
        });
        return array.join('&');      
        }
    
    })(jQuery);
    
    这就是我序列化数据的方式(在另一个线程上找到此示例)

    我需要列id和行id,以便将它们保存到数据库中

    输出如下所示:menu1[0]=id_2&menu1[1]=id_1&menu2[0]=id_3&menu2[1]=id_4&menu3[0]=id_5&menu3[1]=id_6

    所以'menu1,menu2…'是列id,id_1,id_2是行id。当然,我需要知道把
  • 放在哪里,我通过提取[]之间的数字来实现


    所以我的问题是如何提取我提到的所有相关信息,以便将这些信息发送到数据库。

    如果您序列化为类似的内容,那么使用起来会更容易;位置只是items数组中的索引

    [ 
      { "column" : "menu1", "items" : [ "id_2", "id_1" ] },
      { "column" : "menu2", "items" : [ "id_3", "id_4" ] },
      { "column" : "menu3", "items" : [ "id_5", "id_6" ] }
    ]
    
    您可以这样创建:

    (function($) {
        $.fn.serial = function() {
            var menus = [];
            var $elem = $(this); 
            $elem.each(function(i) {
                var menu = this.id;
                var items = [];
                $('li', this).each(function(e) {
                    items.push( this.id  );
                });
                menus.push({ "column" : menu, "items": items });
            });
            return menus;
        }
    })(jQuery);
    
    for (var m = 0; m < menus.length; m++) {
        var menu = menus[m];
        var column = menu["column"];
        var items = menu["items"];
        for (var i = 0; i < items.length; i++) {
            update(i, column, items[i])
        }
    }
    
    然后像这样迭代:

    (function($) {
        $.fn.serial = function() {
            var menus = [];
            var $elem = $(this); 
            $elem.each(function(i) {
                var menu = this.id;
                var items = [];
                $('li', this).each(function(e) {
                    items.push( this.id  );
                });
                menus.push({ "column" : menu, "items": items });
            });
            return menus;
        }
    })(jQuery);
    
    for (var m = 0; m < menus.length; m++) {
        var menu = menus[m];
        var column = menu["column"];
        var items = menu["items"];
        for (var i = 0; i < items.length; i++) {
            update(i, column, items[i])
        }
    }
    
    for(var m=0;m
    您拥有所有相关信息,但您正在将其全部涂抹到难以解析的字符串中。您希望如何将其保存到数据库中?你心中有一个模式吗?一旦它进入数据库,您希望如何使用它?我计划使用以下查询:“更新列表集位置='some_position',其中columnId='some_column_id'和itemId='some_item_id'。因此,'position'是[]中的信息,'columnId'是[]之前的信息,'itemId'是之后的信息=谢谢,这太完美了