我正在使用PHP / MYSQL。
我想创建一个用于排序图像的图库。用户将拖放图像以对图像进行排序和组织。就像皮卡萨这样做。
我使用jQuery UI可排序插件创建了一个页面:http://jqueryui.com/demos/sortable/#display-grid
正确拖放图像。但是在用户完成图像排序后,我无法获得图像的当前顺序。一旦我获得当前订单,我必须在db中为该特定图像保存该订单。
假设我有图像 1,2,3,4,5,6,7,8,9 顺序然后我使用图像并且顺序变为 1,3,4,7 ,8,2,5,6,9 。因此,点击“显示订单”按钮,它应该显示订单为 1,3,4,7,8,2,5,6,9 。
任何人都可以通过点击“显示订单”按钮帮助我显示图像的当前顺序,并向我提供一些关于如何将特定图像的当前订单放入数据库的概念。
由于
答案 0 :(得分:1)
jQuery("#contentSortableUL").sortable({
opacity: 0.6,
cursor: "move",
update: function(){
var order = $(this).sortable("serialize");
jQuery.post("update-sorting.php", order, function(theResponse){
// Callback code here
});
}
});
要更新数据库,您需要在update-sorting.php页面中编写代码:
<?php
/* code in update-sort.php would look like */
include("includes/db.connection.php");
$updateRecordsArray = $_POST['recordsArray'];
$listingCounter = 1;
$orderedImageIds = array();
foreach ($updateRecordsArray as $recordIDValue){
$listingCounter = $listingCounter + 1;
/* update query goes here */
update tableName set order = $listingCounter
}
?>
希望有所帮助。
答案 1 :(得分:0)
是的,实际上在jQuery UI中有一些事件,如update
,start
等,使用它们可以获得新的排序顺序。
以下是最终的工作演示:http://jsbin.com/oqani/10/