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. Python爬虫实战(2):爬取京东商品列表

    1,引言 在上一篇<Python爬虫实战:爬取Drupal论坛帖子列表>,爬取了一个用Drupal做的论坛,是静态页面,抓取比较容易,即使直接解析html源文件都可以抓取到需要的内容.相反 ...

  2. Oracle EBS-SQL (WIP-11):检查期间任务完工记录数.sql

    select        WE.WIP_ENTITY_NAME                 任务名称,        WDJ.class_code                         ...

  3. 异步方式向WPF ListBox控件中一条一条添加记录

    向ListBox绑定数据源时,如果数据量过大,可能会使得程序卡死,这是就需要一条一条的向ListBox的数据源中添加记录了,下面是个小Demo: 1.前台代码,就是一个ListBox控件 <Wi ...

  4. UI线程与worker线程

    也谈谈我对UI线程和worker线程的理解 UI线程又叫界面线程,能够响应操作系统的特定消息,包括界面消息.鼠标键盘消息.自定义消息等,是在普通的worker线程基础上加上消息循环来实现的,在这个消息 ...

  5. LCD与ARM,具体

    一  实验内容简要描写叙述 1.实验目的 学会驱动程序的编写方法,配置S3C2410的LCD驱动,以及在LCD屏上显示包含bmp和jpeg两种格式的图片 2.实验内容  (1)分析S3c2410实验箱 ...

  6. 【线段树成段更新成段查询模板】【POJ3468】A Simple Problem with Integerst

    题目大意: 2个操作 A.区间a b 增加 c B 查询a b; 注意事项:1.记住要清除标记 2.查询时要下放标记,但没必要向上更新 线段:自带的,不用建模 区间和性质:sum: /* WA 1次 ...

  7. 【转】 LESS CSS 框架简介

    简介 CSS(层叠样式表)是一门历史悠久的标记性语言,同 HTML 一道,被广泛应用于万维网(World Wide Web)中.HTML 主要负责文档结构的定义,CSS 负责文档表现形式或样式的定义. ...

  8. 关于ql createNativeQuery生成json数据

    当用createNativeQuery执行原生sql语句时,返回的数据json格式是只有值,没有键名的,在这种情况下要用Map.class对sql语句中的字段进行Map映射,这样返回的数据的json格 ...

  9. zendStudio常用快捷键整理

    在来一发zendstudio的常用快捷键整理,今天心情不错哈哈 Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ct ...

  10. C++学习笔录1

    1.在实际开发中,引用类型变量值用于函数的参数中.它不会另外开辟空间(提高了程序效率),他相当于变量的别名,代表的就是当前这个变量的地址空间.(引用的底层用的是指针.因此从底层的角度讲,其实它的效率是 ...