有序列表和PHP

时间:2013-07-18 14:46:47

标签: php html jquery-ui html-lists

早上好!

我有一个(我认为)基本的Html - PHP问题,经过数小时的尝试,我似乎无法做对。

我有一个页面,使用JqueryUI gridsort。在页面上,用户可以将图片从PC上传到他们的网络文件夹。然后在拖放内部对图片进行反射。

对于每个上传的图像,我这样做(我确实已经宣布避免UL,并在下面关闭)

    $imgID++;


echo '<li class="ui-state-default"><img id="'.$imgID.'"'.' src="user_files/'.$file_name.'" draggable="true" height="90" width="95"></li>';

这会根据他们上传的文件数量创建拖放图片,并允许他们直观地重新组织它们。从左上到右下顺序。我想要做的是能够返回图像所在的顺序。我玩了$ imgID ++,为每个图像分配一个ID,希望这会有所帮助。

我的问题是 - 如何返回列表的顺序,以便我可以处理它。 (i.E pro probalby投入SQL,或者很可能是XML。)

谢谢!

2 个答案:

答案 0 :(得分:1)

你的意思是这样的?

Jquery - 可排序(在更新时使用serialiaze命令进行ajax调用)

$(document).ready(function() {
    $("#lista-prova").sortable({
      handle : '.trascinabile',
      update : function () { 
        var ordina = $('#lista-prova').sortable('serialize');
        $("#info").load("riordinamento.php?"+ordina);
      }
    });
});

这是更新php代码

<?php
foreach ($_GET['oggettoItem'] as $position => $item) :
    $sql[] = "UPDATE `table` SET `position` = $position WHERE `id` = $item";
endforeach;

print_r ($sql);
?>

这是可排序项目的html

<div id="info">In attesa di aggiornamento post-riordinamento</div>
<div id="lista-prova">
    <li id="oggettoItem_1"><img src="arrow.png" width="48" height="48" class="trascinabile" /><strong>Oggetto 1</strong></li>
    <li id="oggettoItem_2"><img src="arrow.png" width="48" height="48" class="trascinabile" /><strong>Oggetto 2</strong></li>
    <li id="oggettoItem_3"><img src="arrow.png" width="48" height="48" class="trascinabile" /><strong>Oggetto 3</strong></li>
    <li id="oggettoItem_4"><img src="arrow.png" width="48" height="48" class="trascinabile" /><strong>Oggetto 4</strong></li>
</div>

答案 1 :(得分:1)

简单的答案是循环遍历ul中的图像,假设列表中没有其他内容比li和图像标记

var listofIDs = [];
$('ul li').each(function(){
    listofIDs.push($(this).find('img').prop('id));
});
$.ajax{[
    url:'example.com',
    data: {'list':listofIDs},
    type: 'post'
]}.done(function(msg){alert(msg);});

此外,您应该使用数据库idnum作为id而不仅仅是增量器,因此它是一个简单的列更新。创建一个名为image_order的列,当您更新ajax脚本中的图像时,根据图像标识设置订单