Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.42 KB | None | 0 0
  1.  
  2. <?php
  3. class SCORE
  4. {
  5. public static function get($args)
  6. {
  7. $studentID = $args['ID_student'];
  8. $time = $args['LearnYear'];
  9. $term = $args['term'];
  10. $get_all= $args['get_all'];
  11. $arr = array();
  12. $ret_arr = array();
  13.  
  14. $count = 0;//科目数目
  15. $TotalCredits1 = 0;//总学分含C类课
  16. $TotalCredits2 = 0;//总学分不含C类课
  17.  
  18. $GPA1 = 0;//含C类课的加权绩点
  19. $GPA2 = 0;//不含C类课的加权绩点
  20.  
  21. $dangerous = !preg_match('/^20\d\d-2017$/',$time) + !preg_match('/[12]/',$term);
  22.  
  23. if($dangerous){
  24. die("Don't hack me!");
  25. }
  26.  
  27. $conn = oci_connect('hduapi','karbom571','192.168.100.21/hziee','UTF8') or die('Connect to Oracle DB failed.');
  28.  
  29. if($get_all==1)
  30. {
  31. $sql = "SELECT KCMC,XF,ZSCJ,JD,XKKH,CJ FROM ZFSOFT.CJB WHERE XH='$studentID'ORDER BY XN,XQ";
  32. }
  33. else
  34. {!
  35. if(!($term && $time))
  36. {
  37. $year = (int)date("Y");
  38. $month = (int)date("m");
  39. $month < 6 ? $term = 1 : $term = 2;
  40. $time=(string)($year-1)."-".(string)$year;
  41. }
  42. $sql = "SELECT KCMC,XF,ZSCJ,JD,XKKH,CJ FROM ZFSOFT.CJB WHERE XH='$studentID' AND XN='$time' AND XQ='$term'";
  43. }
  44.  
  45. $stid = oci_parse($conn, $sql);
  46.  
  47. $results = oci_execute($stid, OCI_DEFAULT);
  48.  
  49. while ($res = oci_fetch_array($stid,OCI_ASSOC))
  50. {
  51.  
  52. $TotalCredits1 += $res['XF'];
  53. $arr[$count] = $res;
  54. ++$count;
  55. }
  56. for ($i = 0;$i < $count;++$i)
  57. {
  58. $GPA1 += $arr[$i]['XF'] * $arr[$i]['JD'];
  59.  
  60. if (!preg_match('/C\d{7+}/',$arr[$i]['XKKH'])) {
  61.  
  62. $GPA2 += arr[$i]["XF"] * arr[$i]["JD"];
  63. $TotalCredits2 += arr[$i]["CJ"];
  64. }
  65.  
  66. $ret_arr[$i]['credit'] = $arr[$i]['XF'];
  67. $ret_arr[$i]['name'] = $arr[$i]['KCMC'];
  68. $ret_arr[$i]['score'] = $arr[$i]['CJ'];
  69. $ret_arr[$i]['point'] = $arr[$i]['JD'];
  70. $ret_arr[$i]['id'] = $arr[$i]['XKKH'];
  71. }
  72. }
  73. $GPA1 /= $TotalCredits1;
  74. $GPA2 /= $TotalCredits2;
  75. return array('count'=> $count,'totalcredits1'=> $TotalCredits1,'totalcredits2'=> $TotalCredits2,'list' => $ret_arr, 'gpa1'=> $GPA1,'gpa2'=> $GPA2);
  76. }
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement