Example #1
0
function get_stat_data($db, $year = 0, $month = 0, $day = 0)
{
    $i = 0;
    $unit = "year";
    $table = "energy_year_stat";
    if ($year) {
        $unit = "month";
        $table = "energy_month_stat";
    }
    if ($month) {
        $unit = "day";
        $table = "energy_day_stat";
    }
    if ($day) {
        $unit = "hour";
        $table = "energy_hour_stat";
    }
    $req = "SELECT ";
    $req .= "{$unit}, ";
    $req2 = "kwh_total, kwh_week_total, kwh_weekend_total FROM " . $table . " ";
    if ($unit != "year") {
        $req2 .= "WHERE ";
        if ($year) {
            $req2 .= "year = \"{$year}\" ";
        }
        if ($month) {
            $req2 .= "AND month = \"{$month}\" ";
        }
        if ($day) {
            $req2 .= "AND day = \"{$day}\" ";
            $req2 .= "UNION SELECT hour+24, " . $req2 . "+1 AND hour=0 ";
        }
    }
    $req .= $req2 . "ORDER BY {$unit};";
    //  echo "<br/>$req<br/><br/>";
    $db->busyTimeout(10000);
    $result = $db->query($req);
    $arr = array();
    while ($res = $result->fetchArray()) {
        if ($unit == "month") {
            $arr[$i] = array(0 => month_to_string($res[0]), 1 => $res[1], 2 => $res[2], 3 => $res[3]);
        } else {
            $arr[$i] = array(0 => "{$res['0']}", 1 => $res[1], 2 => $res[2], 3 => $res[3]);
        }
        $i++;
    }
    return $arr;
}
Example #2
0
 private function getSelectList($field)
 {
     // get and sort initial list
     $list = $this->do->getDistinct($field);
     asort($list);
     // get the month names for a month field
     if ($field == 'month') {
         foreach ($list as $key => $month) {
             $list[$key] = month_to_string($month);
         }
     }
     // add 'All' option to list
     if (is_numeric(current(array_keys($list)))) {
         $output = array('0' => 'All');
     } else {
         $output = array('' => 'All');
     }
     // merge and return list
     $output += $list;
     return $output;
 }