PHP 报告分拣和生产理念
原则排序报告
见一宝、一只猫的排序,我想照猫画虎,鼓捣自己一个。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd3VqaWFuZ3dlaTU2Nw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
原理记录例如以下:
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(){}
}
代码并不完整。可是思路是完整的。欢迎不同见解者拍砖
然后附下面我个人做报表的思路图:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd3VqaWFuZ3dlaTU2Nw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
版权声明:本文博客原创文章。博客,未经同意,不得转载。
PHP 报告分拣和生产理念的更多相关文章
- Jenkins 安装的HTML Publisher Plugin 插件无法展示ant生成的JunitReport报告
最近在做基于jenkins ant junit 的测试持续集成,单独ant junit生成的junitreport报告打开正常,使用Jenkins的HTML Publisher Plugin 插件无 ...
- PCB行业ERP解决方案
普实PCB管理系统包括PCB企业从接到订单开始,编排生产计划.制作工程指示.生产工具.准备物料.品质保障.工序生产.设备维护等一系列与企业运作密切相关的环节,使得企业的各个部门能够紧密联系.相互协调, ...
- 论文泛读:Click Fraud Detection: Adversarial Pattern Recognition over 5 Years at Microsoft
这篇论文非常适合工业界的人(比如我)去读,有很多的借鉴意义. 强烈建议自己去读. title:五年微软经验的点击欺诈检测 摘要:1.微软很厉害.2.本文描述了大规模数据挖掘所面临的独特挑战.解决这一问 ...
- 用AT命令调试调制解调器
最早生产调制解调器的公司是贺氏,后来组建的厂家制造的调制解调器都与HAYES兼容,大部分的通信软件使用菜单来对调制解调器进行配置.检测.但是有些通信软件要求用户直接发命令给调制解调器,在这种情况下必须 ...
- Allure 安装及使用
linux下安装方法 Allure requires Java 8 or higher npm install -g allure-commandline --save-dev (如果npm不能 ...
- CodeIgniter框架——源码分析之入口文件index.php
CodeIgniter框架的入口文件主要是配置开发环境,定义目录常量,加载CI的核心类core/CodeIgniter.php. 在index.php中,CI首先做的事情就是设置PHP的错误报告, ...
- 网易发起“疾风”智造IoT联盟,深化“互联网+先进制造业”发展
7月26日,2019网易云创峰会在杭州拉开序幕,本次峰会以“连接•洞察•进化”为主题,汇聚行业领袖.技术大咖及业界代表,探讨技术演进与行业应用趋势,研商生态合作升级.共赢未来的道路.上午的主论坛中,网 ...
- bayaim_当前国内外Hadoop的实际使用案例
当前国内外Hadoop的实际使用案例 说到Hadoop,很多朋友都想知道到底它是如何被应用的呢?通过下文,笔者就向大家介绍一下具体的情况. 1.Yahoo Yahoo是Hadoop的最大支持者,截至2 ...
- 吉特仓储管理系统-ERP或WMS系统中常见术语
MPS---主生产计划(Master Production schedules) MTO---订货生产(Make-to-Order) BOM---物料清单或产品结构表(Bill of material ...
随机推荐
- 用QT打开网页
原地址:http://blog.csdn.net/fjb2080/article/details/8136084 1.用qlabel. QLabellabel->setText(tr(" ...
- QT在Windows控制台下输出
原地址:http://blog.csdn.net/fjb2080/article/details/9013047 在windows的控制台下输出,需要在pro文件中加入: CONFIG += cons ...
- Mac os 进行Android开发笔记(1)
1> MAC OS Android环境搭建: 2>MAC OS 配置 Andoid ADB: 3>MAC OS 上进行Android真机调试: Android 开发环境搭建: 点击 ...
- 博弈问题之SG函数博弈小结
SG函数: 给定一个有向无环图和一个起始顶点上的一枚棋子,两名选手交替的将这枚棋子沿有向边进行移动,无法移 动者判负.事实上,这个游戏可以认为是所有Impartial Combinatorial Ga ...
- Kendo UI开发教程(20): Kendo MVVM 数据绑定(九) Text
Text绑定可以使用ViewModel来设置DOM元素的文本属性,如果需要设置input,textarea,或select的显示,需要使用value属性. 1 <span data-bind=& ...
- [置顶] 单键模式的C++描述
设计模式-单键(Signelton):其实单键的设计模式说来很简单,说的直白一点就是程序运行过程中保证只有一个实例在运行而已.在软件系统中,经常有这样一些特殊的类,必须保证它们在系统中只存在一个实例, ...
- Tomcat 用户配置
如果你没有改变任何配置文件,请检查文件conf / tomcat用户.xml在你安装.该文件必须包含凭证让你使用这个应用. 例如,添加一个用户名为tomcat manager gui角色s3cret密 ...
- Selenium Webdriver ie 浏览器
webDriver 在测试ie 的时候会遇到很多的问题,记录下: 1.需要ie的driver驱动 需要下载 IEDriverServer.exe 并把这个驱动放在系统ie 的文件夹下 C:\Progr ...
- Eclipse Maven 插件地址
http://download.eclipse.org/technology/m2e/releases maven 插件安装地址
- VC 获取指定文件夹路径的方法小结
VC获取指定文件夹路径 flyfish 2010-3-5 一 使用Shell函数 1 获取应用程序的安装路径 TCHAR buf[_MAX_PATH];SHGetSpecialFolderPath( ...