ajax与算法,sql的group处理

function correctAction(){
        $semester_id = $this->_getParam("semester_id");
        $day = $this->_getParam("day");
        //todo...
        $where = array();
        $where['lx_lessons.semester_id = ?'] = array("type"=>1,"val"=>$semester_id);
        $where['lx_lessons.lvalue = ?'] = array("type"=>1,"val"=>'1');
        $where['lx_lessons.day = ?'] = array("type"=>1,"val"=>$day);
        $where['lx_lessons.user_id > ?'] = array("type"=>1,"val"=>0);
        $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 > 1)
            {
                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) > 1)
                {
                    $d[$key4] = $value4;
                }
            }
        }
        $total = $this->updateCourse($d);
        echo $total;
    }

    function updateCourse($data)
    {
        $total = 0;
        foreach ($data as $k => $v) {
            $count = count($v);
            foreach ($v as $k1 => $v1) {
                $dataLessons['id'] = $v1;
                $dataLessons['lvalue'] = 1/$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()-137;
  var kuandu1 = $(window).width()-20;
  
     $("#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+1);
         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(1);
        }
    });
}); 

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>=1){
              msg += "<br/>";
            }
            if(day == 1){
              $("#testCourse").html("");
            }
            $("#testCourse").append(msg);
            if(day < 6)
            {
              var newDay = parseInt(day)+1;
              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="0" cellspacing="0" cellpadding="0" 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"=>1,"val"=>$semester_id);
        //$where['lx_lessons.lvalue = ?'] = array("type"=>1,"val"=>'1');
        $where['lx_lessons.day = ?'] = array("type"=>1,"val"=>$day);
        $where['lx_lessons.user_id > ?'] = array("type"=>1,"val"=>0);
        $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'] == 1)
            {
                unset($aLessons[$key]);
            }
        }
        print_r($aLessons);exit;

 

posted @ 2014-05-30 11:55  TBHacker  阅读(303)  评论(1编辑  收藏  举报