function correctAction(){
$semester_id = $this->_getParam("semester_id");
$day = $this->_getParam("day");
//todo...
$where = array();
$where['lx_lessons.semester_id = ?'] = array("type"=>,"val"=>$semester_id);
$where['lx_lessons.lvalue = ?'] = array("type"=>,"val"=>'');
$where['lx_lessons.day = ?'] = array("type"=>,"val"=>$day);
$where['lx_lessons.user_id > ?'] = array("type"=>,"val"=>);
$aLessons = $this->dao_lessons->getlessons($where,array('day desc','lorder desc','user_id desc'), false, false, false, array("id","day","lorder","lvalue","user_id","course_id"));
$a = $c = $d = array();
foreach($aLessons as $key=>$val)
{
$a[$val['user_id']][$val['id']] = $val['lorder'];
}
foreach($a as $k=>$v)
{
$total = count($v);
if($total > )
{
if($total !== count(array_unique($v)))
{
foreach ($v as $key2 => $value2) {
$c[$k][$value2][] = $key2;
}
}
}
}
foreach ($c as $key3 => $value3) {
foreach ($value3 as $key4 => $value4) {
if(count($value4) > )
{
$d[$key4] = $value4;
}
}
}
$total = $this->updateCourse($d);
echo $total;
} function updateCourse($data)
{
$total = ;
foreach ($data as $k => $v) {
$count = count($v);
foreach ($v as $k1 => $v1) {
$dataLessons['id'] = $v1;
$dataLessons['lvalue'] = /$count;
$res = $this->dao_lessons->updateLessons($dataLessons);
if($res){
$total ++;
}
}
}
return $total;
}
<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<head >
<title></title>
<link rel="stylesheet" type="text/css" href="/js/thickbox3.1/thickbox.css">
<link rel="stylesheet" type="text/css" href="/css/master.css" />
<link rel="stylesheet" type="text/css" href="/css/style.css" />
<link rel="stylesheet" type="text/css" href="/css/commonlist.css" />
<script type="text/javascript" src="http://code.jquery.com/jquery-2.0.3.min.js"></script>
<script type="text/javascript">
var jQuery2 = jQuery.noConflict();
</script>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="/js/common/png.js"></script>
<script type="text/javascript" src="/js/common.js"></script>
<script type="text/javascript" src="/js/thickbox3.1/thickbox.js"></script>
<script type="text/javascript" src="/js/fc.js"></script>
<script type="text/javascript" src="/js/common/commonlist.js"></script>
<script type="text/javascript">
$(function(){
var gaodu1 = $(window).height()-;
var kuandu1 = $(window).width()-; $("#waikuan").height(gaodu1);
$("#waikuan").width(kuandu1); //$("body").append("<div id='main_bg'/>");
//$("#main_bg").append("<img src='/images/menubg.png' id='bigpic'>"); cover();
$(window).resize(function(){ //浏览器窗口变化
cover();
});
//提交
$("#import").click(function(){
if($("#excel").val()){//判断是否是excel,xls或xlsx
var doc = $("#excel").val();
var pos = doc.lastIndexOf(".");
var suffix = doc.substring(pos+);
if(suffix == 'xls' || suffix == 'xlsx'){
$("#form1").submit();
}
}else{
alert("请选择excel文件");
}
}); $("#correct").click(function(){
var semester_name = $("#semester_id").find("option:selected").text(); var r=confirm("确定校准"+semester_name+"课时?");
if (r==true)
{
testCourse();
}
});
}); function testCourse(day)
{
var semester_id = $("#semester_id").val();
$.ajax({
type: "POST",
url: '/exam/sche/correct',
data: "semester_id="+semester_id+"&day="+day,
success: function(msg){
msg = "周"+day+"数据校准完毕,更新了"+msg+"条。";
if(day>=){
msg += "<br/>";
}
if(day == ){
$("#testCourse").html("");
}
$("#testCourse").append(msg);
if(day < )
{
var newDay = parseInt(day)+;
testCourse(newDay);
}
}
}); } function cover(){
var win_width = $(window).width();
var win_height = $(window).height();
$("#bigpic").attr({width:win_width,height:win_height});
} $(function(){
//$.toSelect("user_name","selectid");
$(".stripe_tb tr").addClass("bgwhite");
$(".stripe_tb tr").mouseover(function(){
//如果鼠标移到class为stripe_tb的表格的tr上时,执行函数
// $(this).addClass("over");
})
.mouseout(function(){
//给这行添加class值为over,并且当鼠标一出该行时执行函数
$(this).removeClass("over");
}) //移除该行的class
$(".stripe_tb tr:even").addClass("alt");
//给class为stripe_tb的表格的偶数行添加class值为alt
}); </script>
</head>
<body>
<!--头部信息begin-->
<!--{include file = '../../head.tpl'}-->
<!--头部信息end-->
<div id="main">
<div class="header">
<h1>导入学生数据表</h1>
<div class="back"> <a href="/member"><img src="/images/backbt.png" /></a> </div>
</div> <table width="90%" border="" cellspacing="" cellpadding="" class="yuanjiao" >
<tr>
<td valign="top">
<form id="form1" name="form1" method="post" action="" enctype="multipart/form-data">
<div class="grey2" style="padding:30px 20px 10px 50px;">
<select name="semester_id" id="semester_id" class="ml10" >
<!--{html_options options=$aSemesters selected=$curSemester}-->
</select>
<input type="file" name="excel" id="excel" value="">
</div>
<div class="tijiao1 mt20"><span id="import">导入</span></div>
<div class="tijiao1 mt20"><span id="correct">课时校准</span></div>
</form>
</td>
</tr>
</table>
<table class="datalist">
<!--{if $aError}-->
<!--{section name=data loop=$aError}-->
<tr class="data_row">
<td class="left" style="text-align:left;"><span style="color:red">Error:</span><!--{$aError[data]}--></td>
</tr>
<!--{/section}-->
<!--{/if}-->
<div id="testCourse"></div>
</table>
</div>
</body>
</html>
function correct2Action(){
$semester_id = $this->_getParam("semester_id");
$day = $this->_getParam("day");
//todo...
$where = array();
$where['lx_lessons.semester_id = ?'] = array("type"=>,"val"=>$semester_id);
//$where['lx_lessons.lvalue = ?'] = array("type"=>1,"val"=>'1');
$where['lx_lessons.day = ?'] = array("type"=>,"val"=>$day);
$where['lx_lessons.user_id > ?'] = array("type"=>,"val"=>);
$aLessons = $this->dao_lessons->getlessons($where,false, false, false, false, array("COUNT(id) as num","day","lorder","user_id"),false,array('day','lorder','user_id'));
foreach($aLessons as $key=>$val)
{
if($val['num'] == )
{
unset($aLessons[$key]);
}
}
print_r($aLessons);exit;

ajax与算法,sql的group处理的更多相关文章

  1. sql语句Group By用法-转载

    sql语句Group By用法一则 2007-10-25 12:00 sql语句Group By用法一则 如果我们的需求变成是要算出每一间店 (store_name) 的营业额 (sales),那怎么 ...

  2. MYSQL:SQL中Group By的使用

    SQL中Group By的使用   1.概述 2.原始表 3.简单Group By 4.Group By 和 Order By 5.Group By中Select指定的字段限制 6.Group By ...

  3. C# Linq to sql 实现 group by 统计多字段 返回多字段

    Linq to sql 使用group by 统计多个字段,然后返回多个字段的值,话不多说,直接上例子: where u.fy_no == fy_no orderby u.we_no group u  ...

  4. MySQL 使用profile分析慢sql,group left join效率高于子查询

    MySQL 使用profile分析慢sql,group left join效率高于子查询 http://blog.csdn.net/mchdba/article/details/54380221 -- ...

  5. 转载:SQL中Group By 的常见使用方法

    SQL中Group By 的常见使用方法  转载源:http://www.cnblogs.com/wang-meng/p/5373057.html 前言今天逛java吧看到了一个面试题, 于是有了今天 ...

  6. SQL 之 Group By

    SQL 之 Group By Group By从字面意义上理解就是根据By指定的规则对数据进行分组,所谓的分组就是将一个数据表划分成若干个小区域. 例如:有这么一张表

  7. sql中group by用来干嘛的

    sql中group by用来干嘛的 一.总结 一句话总结: 1.group by用来分类汇总的,by后面接要分的类 2.group by既然是分类汇总,那就要和聚合函数结合使用,因为要汇总啊 3.ha ...

  8. SQL中Group By的使用

    1.概述 2.原始表 3.简单Group By 4.Group By 和 Order By 5.Group By中Select指定的字段限制 6.Group By All 7.Group By与聚合函 ...

  9. SQL中Group By 的使用

    1.概述 “Group By”从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将一个“数据集”划分成若干个“小区域”,然后针对若干个“小区域”进行数据处理. 2.原始表 3.简 ...

随机推荐

  1. Oracle中字段的修改操作语法

      对字段操作 操作方法 更新字段名 alter table TABLE_NAME rename column column_old to column_new; 添加字段 alter table T ...

  2. Python:staticmethod vs classmethod

    Being educated under Java background, static method and class method are the same thing. But not so ...

  3. React 从0开始 消息传递

    React笔记 React 数据决定DOM 以往的做法是通过JS去操作DOM 将数据填充 JSX Jsx javascript xml HTML的结构组装到js中 jsx使用style的时候 不能直接 ...

  4. CreateFile函数详解(确实很详细)

    CreateFile The CreateFile function creates or opens the following objects and returns a handle that ...

  5. MySQL RR隔离 读一致性

    MySQL RR 模式下 事务隔离问题: Session 1: mysql> select * from test; +------+------+ | id | name | +------+ ...

  6. DLL中传递STL参数,vector对象作为dll参数传递等问题(转)

    STL跨平台调用会出现很多异常,你可以试试. STL使用模板生成,当我们使用模板的时候,每一个EXE,和DLL都在编译器产生了自己的代码,导致模板所使用的静态成员不同步,所以出现数据传递的各种问题,下 ...

  7. centos6.4 ceph安装部署之ceph block device

    1,prelight/preface ceph storage clusterceph block deviceceph filesystemceph object storage 此篇记录ceph ...

  8. aix installp软件包管理工具

    软件可以安装成两种状态:applied和committed.Applied状态保存了原来以前版本的软件,它把以前版本存储在/usr/lpp/PackageName目录下.这种方式可以回滚到以前的软件版 ...

  9. 在centos中添加开机自启动服务

    将服务的shell脚本添加到/etc/rc.d的rc.local文件的最后面,需要在服务名称的前面加上其路径. 例如我要将httpd添加到开机自启动中,需要在rc.local添加如下代码 /usr/s ...

  10. poj 3020 Antenna Placement (最小路径覆盖)

    链接:poj 3020 题意:一个矩形中,有n个城市'*'.'o'表示空地,如今这n个城市都要覆盖无线,若放置一个基站, 那么它至多能够覆盖本身和相邻的一个城市,求至少放置多少个基站才干使得全部的城市 ...