Home >Backend Development >PHP Tutorial >PHP 报表排序及制作思路

PHP 报表排序及制作思路

WBOY
WBOYOriginal
2016-06-23 13:42:581003browse

报表排序实现原理

看到某宝、某猫上的排序,我试着照猫画虎,自己鼓捣一个。

原理记录如下:
1、前台部分



学号 姓名

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   <br> 3、PHP部分  <p></p>  <p></p>  <pre name="code" class="sycode">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(){}}

代码并不完整,但是思路是完整的,欢迎不同见解者拍砖

然后附以下我个人做报表的思路图:






Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn