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. DOM的认识以及一些节点的应用

    HTML DOM (文档对象模型) 当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model). HTML DOM 模型被构造为对象的树. HTML DOM 树 通过 ...

  2. PHP5的类与对象

    类是一个由变量和方法组成的独立程序块或功能模块. 人类: 口,脚,身高,体重,姓名,肤色等 (变量) 说话,行走等(方法) 丁三石,马化树,张夕阳(具体对象) 类的定义和对象的创建

  3. python 爬虫时遇到问题及解决

    源代码: #unicoding=utf-8import reimport urllib def gethtml(url): html=urllib.urlopen(url) page=html.rea ...

  4. MFC 双缓冲加载背景

    首先定义DCmemDc和Bitmap CDC DCmemDc: CBitmap memBitmap; CBitmap *oldBitmap; 然后创建一个适应当前内存的DCmemDc CDC * dc ...

  5. Windows DDB和DIB技术应用(3)--图元外边矩形检测

    GDI/GDI+中只有对字体的外边框的测量,而没有提供对点,线,面,曲线的外边框获取函数.下面是本人利用DIB技术编写的探测简单图元,甚至也可以探测自己定义的复杂图元的外边矩形框的函数.本人已经测试, ...

  6. Android studio 安装,JDK 出错解决方案

    在安装android studio 的时候,会报一个错误: --------------------------- Error launching Android Studio ----------- ...

  7. hdu 5591 ZYB's Game

    Problem Description ZYB played a game named NumberBomb with his classmates ,N] in mind,then players ...

  8. Android AsyncHttpClient

    Android Asynchronous Http Client A Callback-Based Http Client Library for Android   Tweet Downloadve ...

  9. Service的基本组成

    Service与Activity的最大区别就是一有界面,一个没有界面. 如果某些程序操作很消耗时间,那么可以将这些程序定义在Service之中,这样就可以完成程序的后台运行, 其实Service就是一 ...

  10. JS 匿名函数 自执行

    其实就是将函数直接做为表达调用,使用括号包裹定义函数体,解析器将会以函数表达式的方式去调用定义函数. 常见格式:(function() { /* code */ })(); 解释:包围函数(funct ...