예제 #1
0
$yearFrom = intval($_GET["yearFrom"]);
$yearTo = intval($_GET["yearTo"]);
$groupBy = $_GET["groupBy"];
Debug($groupBy);
$fromDate = $yearFrom . str_pad($monthFrom, 2, "0", STR_PAD_LEFT) . "01";
$toDate = $yearTo . str_pad($monthTo, 2, "0", STR_PAD_LEFT) . getLastDayOfMonth($monthTo, $yearTo);
$sumExpenseColumnName = "expense";
$select = new MySqlSelect();
$select->COLUMNS(tbl_tags::$tag_name . ", SUM(" . tbl_transactions::$out_amount . ") as " . $sumExpenseColumnName);
$select->FROM(tbl_transactions::tableName());
$select->JOIN(tbl_tags::tableName());
$select->ADD_CONDITION(tbl_transactions::$in_amount . "='0'");
$select->ADD_CONDITION("tdate BETWEEN " . $fromDate . " AND " . $toDate);
$select->ADD_CONDITION(tbl_transactions::$istransfer . "='0'");
$select->ADD_CONDITION(tbl_transactions::tableName() . "." . tbl_transactions::$tag_id . "=" . tbl_tags::tableName() . "." . tbl_tags::getPrimaryKeyField());
$select->GROUPBY($groupBy);
$select->ADD_SORT($sumExpenseColumnName, "DESC");
Debug($select->toString());
$results = db::MySqlSubmitQuery($select->toString());
$data = array();
if ($results) {
    while ($row = mysql_fetch_array($results, MYSQL_ASSOC)) {
        $object = new stdClass();
        $object->label = $row[tbl_tags::$tag_name];
        $object->value = $row[$sumExpenseColumnName];
        $object->link = "JavaScript: getTransactionsBy('" . $groupBy . "','" . $row[$groupBy] . "');";
        array_push($data, $object);
    }
}
echo '{
    "chart": {
예제 #2
0
$monthTo = intval($_GET["monthTo"]);
$yearFrom = intval($_GET["yearFrom"]);
$yearTo = intval($_GET["yearTo"]);
$months = array(1 => "Jan", 2 => "Feb", 3 => "Mar", 4 => "Apr", 5 => "May", 6 => "Jun", 7 => "Jul", 8 => "Aug", 9 => "Sep", 10 => "Oct", 11 => "Nov", 12 => "Dec");
$fromDate = $yearFrom . str_pad($monthFrom, 2, "0", STR_PAD_LEFT) . "01";
$toDate = $yearTo . str_pad($monthTo, 2, "0", STR_PAD_LEFT) . getLastDayOfMonth($monthTo, $yearTo);
// Query
$incomeData = array();
$expenseData = array();
$labels = array();
$q = new MySqlSelect();
$q->COLUMNS("SUM( in_amount ) AS income, SUM( out_amount ) AS expenses, tmonth , tyear");
$q->FROM(tbl_transactions::tableName());
$q->ADD_CONDITION(tbl_transactions::$istransfer . "='0'");
$q->ADD_CONDITION("tdate BETWEEN " . $fromDate . " AND " . $toDate);
$q->GROUPBY("tmonth");
$q->ADD_SORT("tyear,tmonth", "ASC");
Debug($q->toString());
$results = db::MySqlSubmitQuery($q->toString(), $link);
Debug($results);
if ($results) {
    while ($row = mysql_fetch_array($results, MYSQL_ASSOC)) {
        array_push($labels, array("label" => $months[$row["tmonth"]] . "-" . $row["tyear"]));
        array_push($incomeData, array("value" => $row["income"], "link" => "JavaScript: getTransactions('" . $transaction_type->income . "','" . $row["tmonth"] . "','" . $row["tyear"] . "');"));
        array_push($expenseData, array("value" => $row["expenses"], "link" => "JavaScript: getTransactions('" . $transaction_type->expenses . "','" . $row["tmonth"] . "','" . $row["tyear"] . "');"));
    }
}
echo '{"chart": {
"caption": "Monthly income/expenses",
"subCaption": "",
"xAxisName": "Month",