如何在jquery / php / mysql中对图像进行排序,与google picasa重新排序界面相同?

时间:2010-02-24 08:30:32

标签: jquery jquery-ui-sortable picasa

我正在使用PHP / MYSQL。

我想创建一个用于排序图像的图库。用户将拖放图像以对图像进行排序和组织。就像皮卡萨这样做。

我使用jQuery UI可排序插件创建了一个页面:http://jqueryui.com/demos/sortable/#display-grid

演示页:http://jsbin.com/oqani/9/

正确拖放图像。但是在用户完成图像排序后,我无法获得图像的当前顺序。一旦我获得当前订单,我必须在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

任何人都可以通过点击“显示订单”按钮帮助我显示图像的当前顺序,并向我提供一些关于如何将特定图像的当前订单放入数据库的概念。

由于

2 个答案:

答案 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中有一些事件,如updatestart等,使用它们可以获得新的排序顺序。

以下是最终的工作演示:http://jsbin.com/oqani/10/