Как создать динамическую c переменную и строковое значение внутри ajax данных - PullRequest
0 голосов
/ 20 января 2020

В настоящее время я работаю с перетаскиванием, но моя проблема в том, как я могу сделать переменную c dynamici и строковое значение внутри ajax data {}

data: 
                    {
                        sort1:$("#sortable1").sortable('serialize'),
                        sort2:$("#sortable2").sortable('serialize'),
                        sort3:$("#sortable3").sortable('serialize'),
                        sort4:$("#sortable4").sortable('serialize'),
                        sort5:$("#sortable5").sortable('serialize'),
                    },

Приведенный выше код работает только для 5 столбцов, но, например, у меня есть 1,2,3,4 или 6 или много столбцов, тогда мне нужно изменить это в зависимости от того, сколько столбцов у меня есть. Есть ли способ сделать это? Огромное спасибо.

        <script>
        $(document).ready(function(){
        list_id = <?php echo $status_list_id; ?>;

        var text = "";
        var total_status = document.getElementById("total_status").value;
        for (var i = 1; i <= total_status; i++) 
        {
          text += "#sortable" + i +",";
        }
        var str = text;
        var newStr = str.substring(0, str.length - 1);

        $(newStr).sortable(
        {
            connectWith: '.connectedSortable',
            update : function () 
            {   
                    $.ajax(
                    {
                        type: "POST",
                        url: "ajax_upload.php",
                        data: 
                        {
                            list_id:list_id,
                            total_status:total_status,
                            sort1:$("#sortable1").sortable('serialize'),
                            sort2:$("#sortable2").sortable('serialize'),
                            sort3:$("#sortable3").sortable('serialize'),
                            sort4:$("#sortable4").sortable('serialize'),
                            sort5:$("#sortable5").sortable('serialize'),
                        },
                        success: function(html)
                        {}
                    });
            } 
        }).disableSelection();
    });
    </script>

Ниже приведен мой код в PHP для обновления местоположения или порядка данных внутри столбца. Я надеюсь, что этот код не будет изменен, так как этот код работает нормально вместе с приведенным выше javascript.

        $stacks = array();
    $que = mysqli_query($conn, "SELECT * FROM status WHERE status_list_id='$list_id'"); 
    while($res = mysqli_fetch_array($que))
    {
        $add_array = $res['status_id'];
        array_push($stacks, $add_array);
    } 

    for ($x = 1; $x <= $total_status; $x++) 
    {
        $sort_str = "sort".$x;
        $sort = "sort$x";
        $ww = "sort";
        $$ww = '';
        parse_str($_POST[$sort_str], $$ww);

        $y = $x - 1;
        $id_status = $stacks[$y];
        foreach($$ww['entry'] as $key=>$value)
        {
            $updatequery = "UPDATE `task` SET task_order_no = '$key', task_status_id = '$id_status' WHERE task_id = '$value' AND task_list_id = '$list_id'";    
            $conn->query($updatequery) or die('Error, UPDATE failed!');
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...