使用php和MySql保存可排序列表的顺序

Nrc

我有一个可以用jQuery ui排序的列表。我能够保护使用所做的更改并将其存储在var $ order中。我的问题是我不知道如何将其保存在MySql数据库中。如何在MySql表中保护订单?(请从最基本的角度进行解释,我只是在学习php)

HTML。index.html:

<ul id="sortable">
    <li id="1">item1</li>
    <li id="2">item2</li>
    <li id="3">item3</li>
</ul>

JQUERY。index.html:

$('#sortable').sortable({ 
    update: function(event, ui) { 
        var newOrder = $(this).sortable('toArray').toString(); 
        $.get('6.php', {order:newOrder};
        }); 
    }
});

PHP:6.php:

$order = $_GET['order'];
// echo $order; // this gives something like 2,3,1

如何使用php和Mysql保护下表中的$ order?
我应该更改ID来发出新订单吗?将订单存储在新列中会更好吗?如何按顺序选择每个元素并将其放在表格的正确位置?

就像是:

mysqli_query($con,"UPDATE MyTable 
                   SET ...
                   WHERE ... ");

MYSQL表MyTable:

id    concept    order
-----------------------
1     item1
2     item2
3     item3
用户名

以正确的顺序为每个项目更新数据库:

$order = $_GET['order'];
    // echo $order; // this gives something like 2,3,1


$itemIds = explode(',', $_GET['order']);

foreach($itemIds as $priority => $itemId) {
    // Here you have to update your table, something like UPDATE items SET priority = $priority WHERE id = $itemId
}

然后查询以正确的顺序获取所有物品:

SELECT * FROM items ORDER BY priority 

(“ order”是SQL中的保留关键字,因此您不应将字段称为“ order”,在这里我选择了“ priority”。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章