素材牛VIP会员

PHP+jQueryui实现拖动布局并将排序结果保存到数据库

 所属分类:PHP实例-Ajax,常用实例教程

 浏览:988次  评论:4次  更新时间:2019-09-23
牛币素材VIP可免积分下载
PHP+jQueryui实现拖动布局并将排序结果保存到数据库
积分说明:注册即送10牛币,每日签到可获得5牛币,成为VIP会员可永久免牛币下载!   充值积分   充值会员   更多说明»
素材描述:讲解如何使用jquery+UI及PHP实现拖动浮动层,并将拖动后的浮动层位置保存到数据库。

基础属性

  • 语言PHP
  • 数据库MySql
  • 难易中级

详细介绍

首先我们引入jQuery库和jquery-ui.min.js

<script type="text/javascript" src="jquery.js"></script>  
<script type='text/javascript' src='js/jquery-ui.min.js'></script>
接着我们放置一个拖动时的加载图片,和从数据库读取出来的多个模块拖动层.modules,及#orderlist用于记录模块的排序值。

<div id="loader"></div>  
<div id="module_list">  
<input type="hidden" id="orderlist" value="<?php echo $sort; ?>" />  
   <!--?php 
                for ($i = 0; $i < $len; $i++) { 
                    ?-->  
   <div class="modules" title="<?php echo $sort_arr[$i]; ?>">  
    <h3 class="m_title">Module: 
     <!--?php echo $sort_arr[$i]; ?--></h3>  
    <p> 
     <!--?php echo $sort_arr[$i]; ?--></p>  
   </div>  
   <!--?php } ?-->  
   <div class="cl"></div>  
</div>
jQuery部分

$(function() { 
    $(".m_title").bind('mouseover', 
    function() { 
        $(this).css("cursor", "move") 
    }); 
 
    var $show = $("#loader"); //进度条 
    var $orderlist = $("#orderlist"); 
    var $list = $("#module_list"); 
 
    $list.sortable({ 
        opacity: 0.6, 
        revert: true, 
        cursor: 'move', 
        handle: '.m_title', 
        update: function() { 
            var new_order = []; 
            $list.children(".modules").each(function() { 
                new_order.push(this.title); 
            }); 
            var newid = new_order.join(','); 
            var oldid = $orderlist.val(); 
            $.ajax({ 
                type: "post", 
                url: "update.php", 
                data: { 
                    id: newid, 
                    order: oldid 
                }, 
                //id:新的排列对应的ID,order:原排列顺序 
                beforeSend: function() { 
                    $show.html("<img src='images/load.gif' /> 正在更新"); 
                }, 
                success: function(msg) { 
                    $show.html(""); 
                } 
            }); 
        } 
    }); 
});
ajax.php部分

拖动后保存到数据库,我们看下ajax.php中代码:

$order = $_POST['order']; 
$itemid = trim($_POST['id']); 
if (!empty($itemid)) { 
    if ($order != $itemid) { 
        $query = mysql_query("update sortlist set sort='$itemid' where id=1"); 
        if ($query) { 
            echo $itemid; 
        } else { 
            echo "none"; 
        } 
    } 
}

讨论这个素材(4)回答他人问题或分享使用心得会奖励牛币

qq***43  
2019年11月21日

不错,能及时更新不。

回复
qq***75  
2020年03月16日

慢慢学习了

回复
qq***70  
2020年06月09日

感觉好炫酷

回复
qq***03  
2020年06月26日

可以做游戏用

回复
qq***87  
2020年08月02日

很酷的一个功能

回复
 文明上网,理性发言!   😉 阿里云幸运券,戳我领取
我的牛币余额:0
所需牛币:25 开始下载

牛币获取:签到、评论、充值    » 在线充值(10牛币=1元)