0

我按照http://docs.highcharts.com/#preprocessing-data-from-a-database中的说明使用 php PDO 和 mysql 显示来自数据库的一些数据,但是当我显示图表时我只得到切片..这是我的代码

模型

  public function get_proyectos_service_por_id($idproject) {

    $sql = "SELECT p.id_project, s.service_type, s.completion_status, s.id_service, sp.id_projectserv

    FROM projects p
    LEFT JOIN project_serv sp ON p.id_project = sp.id_project
    LEFT JOIN services s ON sp.id_service = s.id_service 
    WHERE p.id_project = ?";

    $stmt = $this->dbh->prepare($sql);

    $stmt->bindParam(1, $idproject, PDO::PARAM_INT);
    $stmt->execute();

    $rows = array();

    foreach( $stmt->fetchAll(PDO::FETCH_ASSOC) as $row ){ 

     $rows[] = array("service" =>$row['service_type'], "status" =>$row['completion_status']); 

 } 

 return $rows;
}

 // Now i call this method

 $project = new Proyecto();
 $serv = $project->get_proyectos_service_por_id($pro);

// 这是 JS 的输出

$(function () {
                var options = {
                    chart: {
                        renderTo: 'chart_div',
                        defaultSeriesType: 'pie'
                    },
                    title: {
                        text: 'Datos de proyecto'
                    },

                    series: [{
                        data: [<?php echo implode(",", $serv); ?>]

                    }]
                };
                new Highcharts.Chart(options);  
            });
4

1 回答 1

0

请熟悉有关预处理数据的文章http://docs.highcharts.com/#preprocessing,您也可以使用 json_encode()

于 2013-06-19T09:14:29.107 回答