В настоящее время я работаю с перетаскиванием, но моя проблема в том, как я могу сделать переменную 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!');
}
}