PHP分部查询数据库

我在model层里查询数据库传参到控制层,但是我查到的是整个X轴\Y轴在一个数组里,我现在想把这个数组拆分成四个部分(01-05,06-10,11-16,17-19),并把X 轴 Y轴分别输出
这是我的model层部分代码

 $tableName="instruments_tuokong";
        //取全部仪器编号
        $sqlGetAllCode=sprintf("select distinct code from %s",$tableName);
        $codeArr=DB::select($sqlGetAllCode);

        $A_data = [];
        foreach ($codeArr as $a => $b) { //a是角标  b是对应的code编号
            // dump($a);
            // dump($b->code);
            $sqlGetData = sprintf("select variation from ".$tableName." where code = '".$b->code."' order by create_time desc limit 1");
            $codeData = DB::select($sqlGetData);
            $A_data[$b->code]= $codeData[0]->variation;
        }

这是我的控制器接收部分代码

public function getChartData(string $tableName) {
     $modelData = new modelData(); 
                      $result1 = $modelData->change($tableName);//1/
                      $A_data = $result1[0];
    }

查询出来的数据

array(19) { ["TK5-01"]=> string(4) "2300" ["TK5-02"]=> string(4) "2000" ["TK5-03"]=> string(4) "5130" ["TK5-04"]=> string(4) "5630" ["TK5-05"]=> string(4) "4700" ["TK5-06"]=> string(4) "1200" ["TK5-07"]=> string(4) "2151" ["TK5-08"]=> string(4) "2600" ["TK5-09"]=> string(4) "2600" ["TK5-10"]=> string(4) "2200" ["TK5-11"]=> string(4) "1200" ["TK5-12"]=> string(4) "1600" ["TK5-13"]=> string(4) "3000" ["TK5-14"]=> string(4) "2600" ["TK5-15"]=> string(4) "2000" ["TK5-16"]=> string(4) "2800" ["TK5-17"]=> string(4) "2460" ["TK5-18"]=> string(4) "2600" ["TK5-19"]=> string(4) "2365" }

您可以使用循环将数据拆分为四个部分,并将X轴和Y轴分别输出。以下是一个可能的实现方法:

public function getChartData(string $tableName) {
    $modelData = new modelData(); 
    $result1 = $modelData->change($tableName); // 获取查询结果
    $data = $result1[0];

    $part1 = []; // 01-05部分数据
    $part2 = []; // 06-10部分数据
    $part3 = []; // 11-16部分数据
    $part4 = []; // 17-19部分数据

    foreach ($data as $code => $variation) { // 遍历原始数据
        // 解析编号后两位
        $number = intval(substr($code, -2));
        switch (true) {
            case $number >= 1 && $number <= 5: // 01-05部分
                $part1[] = [$code, $variation];
                break;
            case $number >= 6 && $number <= 10: // 06-10部分
                $part2[] = [$code, $variation];
                break;
            case $number >= 11 && $number <= 16: // 11-16部分
                $part3[] = [$code, $variation];
                break;
            case $number >= 17 && $number <= 19: // 17-19部分
                $part4[] = [$code, $variation];
                break;
        }
    }

    // 输出数据
    echo "01-05部分:\n";
    foreach ($part1 as $item) {
        echo $item[0] . ": " . $item[1] . "\n";
    }
    echo "06-10部分:\n";
    foreach ($part2 as $item) {
        echo $item[0] . ": " . $item[1] . "\n";
    }
    echo "11-16部分:\n";
    foreach ($part3 as $item) {
        echo $item[0] . ": " . $item[1] . "\n";
    }
    echo "17-19部分:\n";
    foreach ($part4 as $item) {
        echo $item[0] . ": " . $item[1] . "\n";
    }
}

请注意,上面的输出仅示例,您可以按照自己的需要进行调整。同时,您可能需要根据具体情况更改解析编号的方法和区间划分条件。

  • 这篇博客: 特斯拉Model Y 标准续航实测中的 数据分析 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 这几条数据中,基本都开了方向盘加热,最低档主驾驶座椅加热,最低档吹风(注意,虽然没有开空调加热,但个人感觉温度还是很暖和,据说冬天如果开AC,那能耗就阶跃上升了)。

    行驶过程中,长时间堵车时会启用AP,其他时间基本不使用AP。

    从上述数据中可以观察到一些现象:

    1. 车外温度低的时候行驶效率普遍偏低(5℃,6.5℃等);
    2. 车辆初始电量对续航的影响差别不大(也可能当初始电量比较低的时候,驾驶习惯或多或少趋于保守);
    3. 形式效率是可以高于100%的;
    4. 平均功耗在131Wh/km的时候,基本可以与EPA的显示1:1续航里程;

    有意思的是发现虽然周一堵车,消耗时间将近2h,但是消耗的电量也是接近平均值的。

    周四周五气温回升,行驶效率也有所提升。