zoukankan      html  css  js  c++  java
  • PHP+XAMPP+MYSQL:从MOODLE数据库提取数据并利用jpgraph生成柱状成绩对比图

    其实这个难点主要在两方面,代码逻辑比较简单,一方面难在SQL语句已经忘记了,要重新学起来,另一方面在不知道画幅如何自动生成。第一个问题已经解决,第二个问题是本项目中最后一个未实现的点。如果有缘人看到希望也能给出出主意,谢谢!

    本项目是对MOODLE平台的学生成绩进行过程化管理展示,X轴为横坐标轴展示用户的学号,目前仅在本地模拟。Y轴为学生的成绩累加。每一个颜色代表了每一个项目(例如作业等)的成绩。目前还没有进行插件的封装,仅仅现在本地测试了一下各种情况下的数据:比如学生选不同课程,不同的课程有不同的成绩项目(MOODLE数据库的结构需要进行筛选否则成绩会出错)

    下面先展示图形结果:

     下面放上代码:

    SQL:

    UPDATE mdl_grade_grades SET rawgrade = 0 WHERE rawgrade IS null;

    SELECT id FROM mdl_grade_items WHERE courseid='{$courseid};

    SELECT DISTINCT userid FROM mdl_grade_grades WHERE itemid='{$id[$i]};

    SELECT DISTINCT itemid FROM mdl_grade_grades;

    SELECT rawgrade FROM mdl_grade_grades WHERE userid='{$Xline[$i]}' AND itemid='{$id[$u]};

    PHP:

    require_once ('C:/xampp/htdocs/jpgraph/jpgraph.php');
    require_once ('C:/xampp/htdocs/jpgraph/jpgraph_bar.php');

    $con=mysqli_connect("localhost","root","123","moodle");

    mysqli_select_db($con,"moodle");

    $bplot1 = new BarPlot($res[0]);
    $bplot2 = new BarPlot($res[1]);
    $bplot3 = new BarPlot($res[2]);
    $bplot4 = new BarPlot($res[3]);
    $bplot5 = new BarPlot($res[4]);
    $accbar=new AccBarPlot(array($bplot1,$bplot2,$bplot3,$bplot4,$bplot5));
    $graph->Add($accbar);
    $accbar->value->Show();
    $graph->Stroke();

    其余的一些常规设置代码就不展示了,目前的问题就是不知道加粗的地方可不可以自动生成数组,因为每门课的同学都不一样,每一个同学都需要一个数组。或者有什么其他的好办法。。。。???

     
  • 相关阅读:
    QT事件(信号与槽)用法
    Debian自启动服务
    云锵投资 2020 年 09 月简报
    大数据表查询优化
    云锵投资 2020 年 08 月简报
    can't open ttyS0, error code 2
    QHostAddress 获取ip地址后 格式为"::ffff:127.0.0.1"问题
    qmake: could not exec '/home/hbg/Qt5.11.1/5.11.1/gcc_64/bin/qmake': No such file or directory
    connect to database error : Access denied for user 'root'@'localhost'
    ping 打印添加时间戳
  • 原文地址:https://www.cnblogs.com/OldDriver6668/p/12778828.html
Copyright © 2011-2022 走看看