jQuery nestedSortable, сохранить порядок в базе данных

Я использую плагин под названием nestedSortable отсортировать порядок списка, с вложенным (ul liБаза данных mySQL.

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

HTML код:

<div id="dnp">
<ul id="sort" class="list-group">
<?php
try
{
$conn = new PDO('mysql:dbname=uwv;host=localhost', 'root', '');
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$sqlString = "SELECT * FROM uwv_test1 ORDER BY Question_Order;";

$stmt = $conn->query($sqlString);
$stmt->execute();

while($row = $stmt->fetch(PDO::FETCH_ASSOC))
{
echo    "<li id='id_" . $row['QuestionID'] . "' class='list-group-item space'><i class='fa fa-bars fa-lg'></i>&nbsp;". "<a href='#'>" . $row['Question'] . "</a>/li>";

}
}
catch(PDOException $e)
{
echo $connection->errorCode();
echo $connection->errorInfo();
}
?>
</ul>
</div>

Код jQuery:

$(document).ready(function()
{
$('#sort').nestedSortable({
helper: fixHelper,
handle: '.fa',
containment: 'document',
tolerance: 'move',
cursor: 'move',
revert: 'true',
placeholder: 'placeholder',
connectWith: 'ul#sort, ul ul#sort, #sort',
update: function(){
var order = $('#sort').nestedSortable('serialize');
$.ajax({
type: "GET",
dataType: "JSON",
url: "process-sorting.php",
data: order
});
//$('#info').load("process-sorting.php?"+order);
}
}).disableSelection();

// Return a helper with preserved width of cells
var fixHelper = function(e, ui)
{
ui.children().each(function()
{
$(this).width($(this).width());
});
return ui;
};
});

Код PHP:

$ids = $_GET['id'];
$display_order = 1;

foreach($ids as $id)
{
$db = new PDO('mysql:dbname=uwv;host=localhost', 'root', '');
$stmt = $db->prepare("UPDATE uwv_test1 SET Question_Order = :display_order WHERE QuestionID = :id");
$stmt->bindParam(':id', $id);
$stmt->bindParam(':display_order', $display_order);
$stmt->execute();

$display_order++;
}

Всякий раз, когда я использую плагин jQuery sortable, у меня не возникает проблем с сохранением измененного заказа в базе данных:

$('#sort').sortable({
helper: fixHelper,
handle: '.fa',
containment: 'document',
tolerance: 'move',
cursor: 'move',
revert: 'true',
placeholder: 'placeholder',
connectWith: 'ul#sort, ul ul#sort, #sort',
update: function(){
var order = $('#sort').sortable('serialize');
$.ajax({
type: "GET",
dataType: "JSON",
url: "process-sorting.php",
data: order
});
//$('#info').load("process-sorting.php?"+order);
}
}).disableSelection();

Может ли кто-нибудь помочь мне с этим? Я не очень хорошо объясняю вещи, так что извините, если это не очень хорошо объяснено.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]