我是一名网络开发人员,目前我正在使用一种非常烦人的方法,我认为我的 cms 的以下方法很困难;
我正在制作一个画廊,我想让用户选择如何订购/排序图像。所以他可以更改显示它们的顺序(http://jqueryui.com/demos/sortable/)。但是接下来要做什么;如何在数据库中保护这个订单?目前我有一个带有 id 的额外表格,它们必须按顺序出现在网站上。我猜想很难。
谁知道更好的方法?这很难维护。我正在使用 codeigniter 和 jquery。
我是一名网络开发人员,目前我正在使用一种非常烦人的方法,我认为我的 cms 的以下方法很困难;
我正在制作一个画廊,我想让用户选择如何订购/排序图像。所以他可以更改显示它们的顺序(http://jqueryui.com/demos/sortable/)。但是接下来要做什么;如何在数据库中保护这个订单?目前我有一个带有 id 的额外表格,它们必须按顺序出现在网站上。我猜想很难。
谁知道更好的方法?这很难维护。我正在使用 codeigniter 和 jquery。
为 Image_Order
创建图像列表在数据库表中添加一个额外字段 [photo_ord]
<li class="left" id="someId">
<a href="#" >
<img src="image path here" alt="error" id="image_id_here" class="img_thumb"/>
</a>
</li>
函数处理程序(它会在任何图像移动时调用)
<a href="#" onclick="change_order()" class="btn_1">Save Order</a>
函数将对更新图像顺序进行 ajax 调用
function change_order()
{
var urlst="";
var co=1;
$('.img_thumb').each(function()
{
urlst=urlst+this.id+'#'+co+'*';
co++;
});
$.ajax(
{
type:"POST",
url:"xhr_change_image_order.php",
data:"orader="+urlst,
success:function(data)
{
if(data=="changed")
alert("Image order changed.");
},
error:function()
{
alert('error occure');
}
});
}
文件:xhr_change_image_order.php(将更新数据库)
<?php
$url = $_POST['orader'];
$photo_arr = explode("*", $url);
foreach ($photo_arr as $k => $ph) {
if (strlen($ph) > 1)
{
// Update Query
// $arr[0] will contain image id
// $arr[1] will contain image order
UPDATE `photo` SET `photo_ord` = $arr[1] WHERE `photo_id` = $arr[0];
}
}
echo "changed";
?>
之后,当创建图库时只需使用 ORDER BY 子句获取数据
SELECT * FROM photo ORDER BY photo_ord asc or DESC