• 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({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;
  • 相关阅读:
    整数的位数,及反转
    判断1~n有多少个1
    C语言常用字符串函数
    C语言类型转换原理
    printf()函数压栈a++与++a的输出
    49 丑数( 时间空间效率的平衡)
    42 连续子数组的最大和(时间效率)
    41 数据流中的中位数(时间效率)
    40 最小的K个数(时间效率)
    一、简介 ELO商户类别推荐有助于了解客户忠诚度
  • 原文地址:https://www.cnblogs.com/jiqing9006/p/3760807.html
Copyright © 2020-2023  润新知