PHP 报告分拣和生产理念
2015-07-03 17:43
537 查看
原则排序报告
见一宝、一只猫的排序,我想照猫画虎,鼓捣自己一个。
原理记录例如以下:
1、前台部分
2、CSS部分
2、js部分
函数 sort_prog
3、PHP部分
代码并不完整。可是思路是完整的。欢迎不同见解者拍砖
然后附下面我个人做报表的思路图:
见一宝、一只猫的排序,我想照猫画虎,鼓捣自己一个。
原理记录例如以下:
1、前台部分
<table> <tr class="proghead"> <td class="canclick progsort1" onclick="sort_prog(0)">学号</td> <td class="canclick progsort2" onclick="sort_prog(1)">姓名</td> </tr> </table>
2、CSS部分
.upsort:hover,.upsort{background:rgb(0,161,222) url(./css/up.png) no-repeat center right ; color:#fff; } .downsort:hover, .downsort{background:rgb(0,161,222) url(./css/down.png) no-repeat center right ; color:#fff; }
2、js部分
函数 sort_prog
var SORTPROG_FLAG = [0,0]; var SORTPROG_COL = ['sid','username']; //排序筛选 function sort_prog(num){ clear_arr(SORTPROG_FLAG,num); //更改显示标识 1升序 if(SORTPROG_FLAG[num] === 0 || SORTPROG_FLAG[num] === 2){ SORTPROG_FLAG[num] = 1; } 2 降序 否则不排序 else if(SORTPROG_FLAG[num] === 1){ SORTPROG_FLAG[num] = 2; } if(num >= 0){ var htmlcode = ''; $.ajax({ 'url':'./ajax.php', 'data':get_param('prog'), 'dataType':'text', 'type':'post', 'async':false, 'success':function(data){ if(data){ $('.curseload').hide(); htmlcode = data; } } }); $('.progreport').html(htmlcode); //更改显示标识 if(SORTPROG_FLAG[num] == 2){ $('.'+obj).addClass('downsort').removeClass('upsort'); } else if(SORTPROG_FLAG[num] == 1){ $('.'+obj).addClass('upsort').removeClass('downsort'); } $('.'+obj).siblings().removeClass('downsort').removeClass('upsort'); }else{ clear_arr(SORTPROG_FLAG,-1); $.ajax({ 'url':'./ajax.php', 'data':get_param('prog'), 'dataType':'text', 'type':'post', 'success':function(data){ if(data){ $('.prog').html(data); } } }); } } //数组清零 初始化 function clear_arr(arr, index){ var len = arr.length; for (var i= 0; i < len; i++) { if(i != index){ arr[i] = 0; } } } //数组获取 点击索引 function get_index(arr){ var len = arr.length; var index = -1 ; for (var i = 0; i < len; i++) { if(arr[i] != 0){ index = i; } } return index; } //參数获取 //获取 參数 function get_param(type){ if(type == 'prog'){ var num = get_index(SORT_FLAG); var sid = $('.sid').val(); var username = $('.username').val(); return {'sid':sid,'username':username,'sort_col':SORTPROG_COL[num],'sort_type':SORTPROG_FLAG[num]}; } }
3、PHP部分
class reportclass{ //按列排序 public function multi_array_sort($multi_array,$sort_key,$sort=SORT_ASC){ $sorttype = optional_param('sorttype', 1, PARAM_RAW); if($sorttype == 1){ $sort=SORT_ASC; }else if($sorttype == 2){ $sort=SORT_DESC; } if(is_array($multi_array)){ foreach ($multi_array as $row_array){ if(is_array($row_array)){ //将utf-8中文转换为 gbk 进行中文拼音排序 $key_array[] = iconv('UTF-8', 'GBK', strip_tags($row_array[$sort_key])); }else{ return false; } } }else{ return false; } array_multisort($key_array,$sort,$multi_array); return $multi_array; } // public function print_report(){ $arr = get_report(); $sort_col = $_POST['sort_col']; $sort_type = $_POST['sort_type']; if($sort_type == 1){$sort = SORT_ASC ;} else if($sort_type == 2){$sort = SORT_DESC ;} $newarr = $this->multi_array_sort($arr,$sort_col,$sort); $this->show_report(); } //实现获取 报表信息二维数组 public function get_report(){} //依据二维数组 打印报表 public function show_report(){} }
代码并不完整。可是思路是完整的。欢迎不同见解者拍砖
然后附下面我个人做报表的思路图:
相关文章推荐
- ecshop安装出现问题集合(php版本偏高)
- PHP如何过滤这样的空白字符?
- php中的json_encode函数
- PHP基本语法以及和Java的区别
- php缓存技术(减少数据库服务器压力)
- yii2-更改默认显示的通用主页
- json在PHP中应用技巧
- 在PHP中使用Mysqli操作数据库
- redhat 6.2 搭建zend framework 开发环境
- PHP 上传apk, 解析apk ,以及写入文件到apk包
- php获取结果集的几个方法
- PHP 实现页面静态化
- ATP检查的一些TIPS
- PHP socket 异步框架
- PHP PSR-1 基本代码规范(中文版)
- (转)ThinkPHP3.0 使用分组后路径访问无效的解决方法!
- php中 $$str 中 "$$" 的解释
- 源码安装PHP7
- FTP上传图片以及下载图片
- php数组复制的实现