Php 从数据库中获取HighCHarts的数据

Php 从数据库中获取HighCHarts的数据,php,highcharts,Php,Highcharts,我正在开发一个工具,它有一个统计页面,我正在使用,我正在使用基本折线图,现在要填充这个图表,我需要一些数据。数据来自我的数据库 我得到了一个查询,其中提取了分配给特定“经理”的用户列表,现在我希望每个名称都显示在不同的行中 但是,所有的名字都出现在一行下面 我的代码: <?php session_start(); class ManagerStats{ public function con() { require_once('connect.php');

我正在开发一个工具,它有一个统计页面,我正在使用,我正在使用基本折线图,现在要填充这个图表,我需要一些数据。数据来自我的数据库

我得到了一个查询,其中提取了分配给特定“经理”的用户列表,现在我希望每个名称都显示在不同的行中

但是,所有的名字都出现在一行下面

我的代码:

<?php
session_start();
class ManagerStats{

    public function con()
    {
        require_once('connect.php');
        $DB = new dbConnect();
        return $DB->connect();
    }

    public function DontEvenKnow(){

        if($_SESSION['user'] == 'manager1@gmail.com'){

            $sql = "SELECT user_id, first_name FROM tbl_user WHERE user_team='bob'";
            $query = mysqli_query($this->con(), $sql);

            if($query){

                foreach($query as $v){

                    echo $v;

                }
            }

            }elseif($_SESSION['user'] == 'manager2@gmail.com'){
            //$sql = "SELECT user_id FROM tbl_user WHERE user_team='oli'";
        }
        }
}
?>
<script>
    $(function () {
        $('#home_manager').highcharts({
            title: {
                text: '',
                x: -20 //center
            },
            xAxis: {
                categories: ['04/19', '04/20', '04/21', '04/22', '04/23', '04/24']
            },
            yAxis: {
                title: {
                    text: 'Emails Sent'
                },
                plotLines: [
                    {
                        value: 0,
                        width: 1,
                        color: '#808080'
                    }
                ]
            },
            tooltip: {
                valueSuffix: ''
            },
            legend: {
                layout: 'vertical',
                align: 'right',
                verticalAlign: 'middle',
                borderWidth: 0
            },
            series: [
                {
                    name: '<?php $oko = new ManagerStats(); $oko->DontEvenKnow(); ?>',
                    data: [38, 78, 12, 80, 75]
                },
                {
                    name: 'Helena',
                    data: [23, 34, 55, 67, 34]
                },
                {
                    name: 'Martin',
                    data: [34, 35, 55, 69, 67]
                },
                {
                    name: 'Marta',
                    data: [43, 64, 75, 57, 64]
                },
                {
                    name: 'Samuel',
                    data: [63, 64, 75, 87, 44]
                },
                {
                    name: 'Carter',
                    data: [43, 54, 55, 67, 84]
                }
            ]
        });
    });
</script>

在回显变量后尝试添加换行符。大概是这样的:

echo $v . "<br />";
echo$v。“
”;
这将在每个用户之后创建新行。

在函数中:

 $data = "";
 $data_for_user = "[43, 54, 55, 67, 84]"; 
           //For each user you need to get data from database,
           //but don't do a query inside a loop because it kills perfomance

 foreach($query as $v){
      $data .= " {
                   name: '".$v["first_name" ]."',
                   data: ".$data_for_user."
                }, ";
 }
  echo $data;
然后依次

series: [<?php $oko = new ManagerStats(); $oko->DontEvenKnow(); ?>]
Group concat按highcharts所需的方式获取用户的值,并用逗号分隔。 请记住,group_concat的长度限制为1024,但您可以在查询之前更改它

 'SET GLOBAL group_concat_max_len=15000'
和高图数据

 $data = "";

 foreach($query as $v){
      $data .= " {
                   name: '".$v["first_name" ]."',
                   data: [".$v["data_for_user"]."]
                }, ";
 }

您好,谢谢您的回答,但结果也提醒了您同样的问题,但现在您的建议是,第二个名称向下一行,但不创建新行。好的,break标记会创建新行。我想我们需要准确地定义你所说的新行的意思。你想做的事情是否有某种视觉表现?你的答案看起来不错,但它不起作用,我一点结果也没有,只是在CipherLock所做的编辑中有一个空白的图表,也许它起作用。当然我注意到了缺少的引号,但我不会挑剔:P,嗯,我已经尝试了所有提供的解决方案,但仍然未能实现我的目标,你可能有一些好的阅读。。。?。谢谢打印$oko=newmanagerstats()$oko->DontEvenKnow()??打印它并在jsfidle中尝试$oko->DontEvenKnow();必须打印这样的代码{name:'Marta',data:[43,64,75,57,64]},{name:'Samuel',data:[63,64,75,87,44]},{name:'Carter',data:[43,54,55,67,84]}好的,我修复了一些东西,一切正常,只是没有生成行
 $data = "";

 foreach($query as $v){
      $data .= " {
                   name: '".$v["first_name" ]."',
                   data: [".$v["data_for_user"]."]
                }, ";
 }