一、创建PHP文件

index.php:

<?php
error_reporting(7);
$mysql_server_name='localhost'; // mysql数据库服务器
$mysql_username='root'; // mysql数据库用户名
$mysql_password='root'; // mysql数据库密码
$mysql_database='move'; // mysql数据库名
$conn=mysql_connect($mysql_server_name,$mysql_username,$mysql_password) or die("error connecting") ; //连接数据库
mysql_query("set names 'utf8'"); //数据库输出编码
mysql_select_db($mysql_database); //打开数据库
$sql ="select * from sortlist order by sort "; //SQL语句
$result = mysql_query($sql,$conn); //查询
if(!empty($_POST)){
$order = $_POST['order'];
$itemid = trim($_POST['id']);
$idarray=explode(",",$itemid);
$orderarray=explode(",",$order);
$i=0;
if (!empty ($itemid)) {
foreach($idarray as $id){
$query = mysql_query("update sortlist set sort='".$orderarray[$i]."' where id=".$id);
if ($query) {
echo $id;
} else {
echo "none";
}
$i++;
}
}
}
$query=mysql_query("select * from sortlist order by sort ");
while($rs=mysql_fetch_array($query)){
    $sort[]=$rs['sort'];
}
$sort_str=implode(',',$sort);
$res='';
$i=0;
while($row = mysql_fetch_array($result))
{   
 $i++;
  $res.="<tr><td class='index'>".$row['sort'] ."</td>";
 $res.="<td class='modules' title=\"".$row['id'] ."\">".$row['id'] ."</td>";
 $res.="<td>".$row['year']."</td>";
 $res.="<td>".$row['title'] . "</td>";
 $res.="<td>".$row['author'] . "</td>";
 $res.="</tr>"; //排版代码

}
include_once 'html/index.html';
mysql_close(); //关闭MySQL连接

?>

二、创建html文件:

html/index.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>jqueryUI拖动</title>
</head>
<script src="js/jquery.min.js"></script>
<script src="js/jquery-ui.min.js"></script>
<style>
    tr{cursor: pointer;}
#loader{height:24px; text-align:center}
</style>
<script >
$(document).ready(function(){
    var $show = $("#loader"); //进度条
    var $orderlist = $("#orderlist");
var $list = $("#sort");
var id =$orderlist.val().split(",");//获取排序序号并转换成数组
        var fixHelperModified = function(e, tr) {
                    var $originals = tr.children();
                    var $helper = tr.clone();
                    $helper.children().each(function(index) {
                        $(this).width($originals.eq(index).width())
                    });
                    return $helper;
                },
                updateIndex = function(e, ui) {
                    $('td.index', ui.item.parent()).each(function (i) {
                        $(this).html(id[i]);//排序序号
                    });
},
update=function(){
var new_order = [];
$list.children("tbody").children("tr").children(".modules").each(function() {
   new_order.push(this.title);
});
var newid = new_order.join(',');
var oldid = $orderlist.val();
/* console.log(newid);
console.log(oldid); */
$.ajax({
type: "post",
url: "index.php",
data: { id: newid, order: oldid },   //id:新的排列对应的ID,order:原排列顺序
beforeSend: function() {
$show.html("<img src='images/load.gif' /> 正在更新");
},
success: function(msg) {
$show.html("");
}
});
                };
     $("#sort tbody").sortable({
            helper: fixHelperModified,
update:update,
            stop: updateIndex
        }).disableSelection();
    });
</script>
<body>
  <div id="loader"></div>
   <input type="hidden" id="orderlist" value="<?php echo $sort_str;?>" />
<table id="sort">
    <thead>
    <tr>
        <th class="index">序号</th>
<th>id</th>
<!-- <th>sort</th> -->
        <th>年份</th>
        <th>标题</th>
        <th>作者</th>
    </tr>
    </thead>
    <tbody>
    <?php echo $res;?>
    </tbody>
</table>
</body>
</html>

注意:别忘记下载相应的js文件以及理清楚相对应的文件的路径,具体的文件自己可以在网上下载

js拖拽排序并保存到数据库相关推荐

  1. html列表拖拽排序插件,JS拖拽排序插件Sortable.js用法实例分析

    本文实例讲述了JS拖拽排序插件Sortable.js用法.分享给大家供大家参考,具体如下: 最近由于项目功能设计的原因,需要对table中的行实现拖拽排序功能,找来找去发现Sortable.js能很好 ...

  2. vue.js 拖拽排序_快速轻巧的Vue.js拖放可排序库

    vue.js 拖拽排序 vue-smooth-dnd (vue-smooth-dnd) A fast and lightweight drag&drop, sortable library f ...

  3. html列表拖拽排序插件,js拖拽排序插件Sortable

    插件描述:功能强大的Javript拖拽排序库Sortable,拖拽兼容性好,零依赖 更新时间:2020-05-15 18:19:16 SortableJS 功能强大的JavaScript 拖拽库 特性 ...

  4. android gridview拖动排序,Asp.net GridView 拖拽排序    原创(欢迎拍砖,敬请嘴下留情!)...

    原理:客户端排序(或者说组织新的排序顺序),Ajax 更新服务器端数据. 客户端用jquery插件sortable实现拖拽排序,保存之前检索顺序变化了的数据,并组织成Json数据,用AJax传送到服务 ...

  5. easyui树拖拽排序java_easyui tree 拖拽功能并将数据返回后台保存至数据库

    1.需要实现tree的拖拽功能,首先在定义一个tree时候需要设置 dnd : true 2.easyui 给我们提供了一个onDrop : function(target, source, poin ...

  6. 全网为数不多清晰可行的在VUE中使用sortable.js实现动态拖拽排序的教程!

    目录 0 写在前面的 1 依赖安装 2 手写简单标签演示 3 要点 4 效果 0 写在前面的 首先批评以下文章 (10条消息) sortable.js 实现拖拽_sortablejs_花铛的博客-CS ...

  7. JS的平凡之路--简易的图片拖拽排序

    由HTML5的拖放API,实现的简易图片拖放效果. 一.HTML5拖放API的知识点   首先我们得知道元素怎么才可以被拖放,需要设置它们的draggable属性,其中img和a标签的dragable ...

  8. zTree的拖拽排序

    ztree本身是可以支持拖拽的,但是却没有找到明确的支持拖拽的排序,也就是说,在拖拽过程中,需要自定义维护拖拽后的顺序并保存至后台. 在这样一个比较常规的需求情况下,网上也有朋友给出了一些解决方案,比 ...

  9. vue中实现拖拽排序

    原生拖拽 API 实现拖拽 设置元素 dragable 将元素的 dragable 属性设置 为 true (文本 图片 链接 的draggable 属性默认为 true)则元素可拖放 <div ...

最新文章

  1. 何恺明团队最新力作SimSiam:消除表征学习“崩溃解”,探寻对比表达学习成功之根源...
  2. 人造肌肉机械臂太逼真引热议,举7kg哑铃“肌肉”清晰可见,网友:《西部世界》...
  3. boost::fusion::map_tie用法的测试程序
  4. CruiseControl.NET与TFS结合的配置文件
  5. 如何实现报表的批量打印需求
  6. 思科模拟器企业网站服务器配置,思科模拟器服务器配置
  7. Linux学习笔记 第三课 目录结构及简单命令
  8. ubuntu查看安装软件的版本
  9. nginx+tomcat+msm实现seesion共享
  10. 春节怎么抢红包,python一招告诉你再也不会错过微信红包
  11. CAD electrical简易教程(一)
  12. 老龄化带来新机遇 银发经济实力不容小觑
  13. 计算机未安装OCR应用程序,OCR使用的常见问题及解决(转载)
  14. 攻防世界-web- easyphp
  15. 使用left join后添加判断会出错
  16. 图片旋转90度解决的方法
  17. 登录失败: 未知的用户名或错误密码。
  18. Listener refused the connection with the following error
  19. BAPI_ACC_DOCUMENT_POST 创建凭证报错“被合并的公司 XXXX 和 XXXX 是不同的”
  20. PTA 1047 编程团体赛(c语言)

热门文章

  1. 传奇无双为什么显示服务器异常,传奇无双闪退黑屏怎么办?传奇无双闪退黑屏解决方法分享...
  2. 服务器使用独立IP有什么好处?
  3. 【转】使用DirectUI技术实现QQ界面
  4. BZOJ2073: [POI2004]PRZ
  5. 意法半导体(ST)7月10日宣布收购TouchGFX
  6. Lisp尺寸标注增加前后缀_LISP 图层前后缀_显示图层的Lisp程式
  7. CL9000系列气体报警器
  8. 固态硬盘SATA与NVME区别
  9. Android 音乐播放器,Service后台管理播放
  10. 深入RUST标准库内核(三)NonNull<T>/Unique<T>/mem::replace/Layout/GlobalAlloc