zoukankan      html  css  js  c++  java
  • 仿QQ空间相册拖动排序保存相册顺序

           看到论坛里有人问有没有人拔仿QQ空间相册拖动排序保存相册顺序,直觉这应该不是很难的东西,为什么我们的第一反应总是要去扒,不能先自己思考下怎么做,做原创不好么?虽然可以看看别人好的技术,但是凡事都“扒”,这也是一种悲哀,不单是个人的悲哀吧。

          扯多了。于是自己想了下。之前在论坛里也看见有高手写过拖拽的程序,自适应自识别位置,两个div调换位置。自己写了个,用了jquery,拖动功能是用的自己前面写的一个插件。

          图片的信息是存数据库,用一个字段(sort_key)保存图片的排序信息,数值小排在前面。

          前端拖动,更换位置时调换相应的div的left和top值,以及排序的sortkey的值,拖动完成后ajax后端保存。程序很简单。

          最后,在识别拖动的过程中,是遍历数组查询是否两个应当互换位置了,这个算法有待优化。

     

    前端页面:http://ftpwfc.d185.webidcc.cn/test/mycss/

    MySQL:

    1 CREATE TABLE IF NOT EXISTS `images` (
    2   `id` int(11) NOT NULL auto_increment,
    3   `path` varchar(200) character set utf8 NOT NULL,
    4   `sort_key` int(11) NOT NULL,
    5   PRIMARY KEY  (`id`)
    6 ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ;

    后台PHP:

    显示图片:get.msg.php

     1 <?php
     2 include 'con_sql.php';
     3 con_sql( $sqlConfig1 );
     4 
     5 switch( $_POST['type'] ){
     6     case 'imageList':
     7         echo get_image_list();
     8         break;
     9 }
    10 
    11 
    12 //获取图片列表
    13 function get_image_list(){
    14     $sql = "select id,path,sort_key from images order by sort_key";
    15     $result = mysql_query($sql);
    16     $resultNum = mysql_num_rows($result);
    17     for($n = 0; $n < $resultNum; $n ++){
    18         $resultArr = mysql_fetch_row($result);
    19         $file['id'][$n] = $resultArr[0];
    20         $file['file'][$n] = $resultArr[1];
    21         $file['num'][$n] = $n;
    22     }
    23 
    24     return json_encode($file);
    25 }
    26 
    27 ?>

    保存排序:set.msg.php

     1 <?php
     2 include 'con_sql.php';
     3 con_sql( $sqlConfig1 );
     4 
     5 switch( $_POST['type'] ){
     6     case 'imageList':
     7         echo set_image_list($_POST['content']);
     8         break;
     9 }
    10 
    11 
    12 //保存图片列表
    13 function set_image_list($content){
    14     $num = count($content['sortKey']);
    15     for($n = 0; $n < $num; $n ++){
    16         $sql = "update images set sort_key = '".$content['sortKey'][$n]."' where id = '".$content['fileId'][$n]."'";
    17         mysql_query($sql);
    18     }
    19 
    20     return $num;
    21 }
    22 
    23 ?>
  • 相关阅读:
    浅谈C++多态性
    OSI七层模型具体解释
    文本框仅仅同意输入数字
    MessageDigest简单介绍
    CF 161D Distance in Tree【树DP】
    第六届蓝桥杯JavaA组国(决)赛真题
    Java实现 蓝桥杯 历届真题 稍大的串
    Java实现 蓝桥杯 历届真题 稍大的串
    Java实现 蓝桥杯 历届真题 稍大的串
    Java实现 蓝桥杯 历届真题 稍大的串
  • 原文地址:https://www.cnblogs.com/whatmiss/p/2670748.html
Copyright © 2011-2022 走看看