• 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();

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

     
  • 相关阅读:
    Jquery+ajax+bootstrap
    Js+Jquery
    css(2)+JS
    css
    mysql 高级
    Git
    Redis
    Nginx
    python爬虫 | 一条高效的学习路径
    拉勾网爬取全国python职位并数据分析薪资,工作经验,学历等信息
  • 原文地址:https://www.cnblogs.com/OldDriver6668/p/12778828.html
Copyright © 2020-2023  润新知