php-使用mysql和ajax用FLOT绘制图形

php-使用mysql和ajax用FLOT绘制图形,第1张

概述我正在尝试使用flot绘制一些从MySQL数据库提取的数据.我是登录用户的登录访问,我有一个SQL函数,它将检索给定月份每天的访问次数,即getStats($day).我已经在网上阅读了一些示例,以了解如何正确执行此 *** 作,但是由于某些原因,当我尝试对JavaScript文件中的数组数据进行图形绘制时,它会变成空-> '数据:'.下面是我的代码.我正在使

我正在尝试使用flot绘制一些从MySQL数据库提取的数据.我是登录用户的登录访问,我有一个sql函数,它将检索给定月份每天的访问次数,即getStats($day).我已经在网上阅读了一些示例,以了解如何正确执行此 *** 作,但是由于某些原因,当我尝试对JavaScript文件中的数组数据进行图形绘制时,它会变成空-> ‘数据:’.下面是我的代码.我正在使用CI框架,因此,如果对我的代码有任何疑问,很可能是因为这个问题.我已经对数据进行了硬编码,并且可以正常工作.在此问题上的任何帮助将不胜感激,目前关于在数据库中使用flot的内容并不多.

型号-> metrics.PHP

function showUsers() {    //get the number of days in the current month and the first day    $num_days = cal_days_in_month(CAL_GREGORIAN,date(m),date(Y));    $first_day = strtotime(date('Y').'-'.date('m').'-01');    //iterate through all of the days    while( $i < $num_days ) {         //get the user visits for each day of the month         $log = $this->db->getStats($first_day);         //add +1 day to the current day         $first_day += 86400;         $flot_visits[] = '['.($first_day*1000).','.$log->fIElds['total'].']';         $i++;    }    //format in acceptable format for flot    $content['visits'] = '['.implode(',',$flot_visits).']';    //load the vIEw and pass the array    $this->load->vars($content);    $this->load->vIEw('metrics/user_metrics',$content);}

查看—> user_metrics.PHP

 <div ID ="visits_graph" ></div>

JavaScript —> user_metrics.Js

function metrics() {   $.AJAX({            type: "POST",url: pathurl + "metrics/showUsers",data: "",success: function(data) {                   graph_visits();            }         });}function graph_visits() {     $.plot($('#visits_graph'),[         { label: 'Visits',data: <?PHP echo $visits ?> }         ],{               xaxis: {                         mode: "time",timeformat: "%m/%d/%y"                      },lines: { show: true },points: { show: true },grID: { backgroundcolor: #fffaff' }         });}
最佳答案我认为您的问题出在指标功能之内. (我也猜你在用Jquery)

目前,您的指标函数在后端请求一个页面,但不执行任何 *** 作.

>将后端方法showUsers()更改为:

    function showUsers() {        //get the number of days in the current month and the first day        $num_days = cal_days_in_month(CAL_GREGORIAN,date(Y));        $first_day = strtotime(date('Y').'-'.date('m').'-01');        //iterate through all of the days        while( $i db->getStats($first_day);         //add +1 day to the current day         $first_day += 86400;         //change this to be a nested array         $flot_visits[] = array( ($first_day*1000),$log->fIElds['total'] );         $i++;    }        //output JavaScript array        echo Json_encode( $flot_visits );    }

>将user_metrics.Js更改为:

    function metrics() {           $.getJsON({                pathurl + "metrics/showUsers",function(data) {                       //use the returned data                       graph_visits(data);                }             });    }    function graph_visits( graphData ) {         $.plot($('#visits_graph'),[             { label: 'Visits',data: graphData }             ],{                   xaxis: {                             mode: "time",timeformat: "%m/%d/%y"                          },grID: { backgroundcolor: #fffaff' }             });    }
总结

以上是内存溢出为你收集整理的php-使用mysql和ajax用FLOT绘制图形 全部内容,希望文章能够帮你解决php-使用mysql和ajax用FLOT绘制图形 所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1165515.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存