--- a/lib/graphs.inc.php +++ b/lib/graphs.inc.php @@ -28,10 +28,10 @@ var d2 = []; <?php $query = 'select cnid, count(*) from - (select ("CNID"::integer - MOD("CNID"::integer,100)) as cnid - from contractnotice where "CNID"::integer < 999999 - and "CNID" not like \'%-A%\' - and "parentCN" is null) as a group by cnid order by cnid'; + (select ("CNID"::integer - MOD("CNID"::integer,100)) as cnid + from contractnotice where "CNID"::integer < 999999 + and "CNID" not like \'%-A%\' + and "parentCN" is null) as a group by cnid order by cnid'; $query = $conn->prepare($query); $query->execute(); $errors = $conn->errorInfo(); @@ -45,8 +45,8 @@ echo "d1.push([ " . intval($delta['cnid']) . ", " . intval($delta['count']) . "]); \n"; }; $query = 'select cnid, count(*) from (select ("CNID"::integer - MOD("CNID"::integer,100)) as cnid - from contractnotice where "CNID" not like \'%-A%\' and "parentCN" is not null) - as a group by cnid order by cnid'; + from contractnotice where "CNID" not like \'%-A%\' and "parentCN" is not null) + as a group by cnid order by cnid'; $query = $conn->prepare($query); $query->execute(); $errors = $conn->errorInfo(); @@ -59,6 +59,9 @@ echo "d2.push([ " . intval($delta['cnid']) . ", " . intval($delta['count']) . "]); \n"; }; + d1d2Graph(); +} +function d1d2Graph($time = false) { ?> var data = [ @@ -67,25 +70,37 @@ series: { lines: { show: true }, points: { show: true } - }, - bars: { show: true } + } + <?php if (!$time){ + echo ',bars: { show: true }'; + }?> }, { data: d2, series: { lines: { show: true }, points: { show: true } - }, - bars: { show: true } + } + <?php if (!$time){ + echo ',bars: { show: true }'; + } else { + echo ',yaxis: 2'; + } +?> }] ; var options = { - series: { + + grid: { hoverable: true, clickable: true, labelMargin: 17 }, + selection: { mode: "x" } <?php if ($time){ + echo ', xaxis: { + mode: "time" + }';} else { + echo ', series: { stack: true - }, - grid: { hoverable: true, clickable: true, labelMargin: 17 }, - selection: { mode: "x" } + },'; + } ?> }; placeholder.bind("plotselected", function (event, ranges) { @@ -98,15 +113,15 @@ placeholder.bind("plothover", function (event, pos, item) { $("#x").text(pos.x.toFixed(2)); $("#y").text(pos.y.toFixed(2)); - + if (item) { if (previousPoint != item.dataIndex) { previousPoint = item.dataIndex; - + $("#tooltip").remove(); var x = item.datapoint[0].toFixed(2), y = item.datapoint[1].toFixed(2); - + showTooltip(item.pageX, item.pageY, item.series.label + " of " + x + " = " + y); } @@ -133,18 +148,26 @@ opacity: 0.80 }).appendTo("body").fadeIn(200); } - + </script> <?php } function agenciesGraph() { - global $conn; + global $conn, $yearQ, $supplierParts,$supplierQ, $supplierABN, $supplierName; includeFlot(); - $query = 'SELECT SUM("value") as val, MAX(contractnotice."agencyName") as agencyname FROM contractnotice join agency_nametoabn on contractnotice."agencyName"=agency_nametoabn."agencyName" WHERE "childCN" is null + $query = 'SELECT SUM("value") as val, MAX(contractnotice."agencyName") as agencyname FROM contractnotice join agency_nametoabn on contractnotice."agencyName"=agency_nametoabn."agencyName" +WHERE ' .$yearQ . ' '.$supplierQ.' "childCN" is null GROUP BY abn ORDER BY SUM("value") DESC'; $query = $conn->prepare($query); +if (count($supplierParts) > 0) { + if ($supplierParts[0] > 0) { + $query->bindParam(":supplierABN", $supplierABN); + } else { + $query->bindParam(":supplierName", $supplierName); + } +} $query->execute(); $errors = $conn->errorInfo(); if ($errors[2] != "") { @@ -201,15 +224,16 @@ ; function agencySuppliersGraph($agency) { - - global $conn; - $agency = "AusAid"; - $topX = 15; - $query = 'SELECT SUM(value) as val, "supplierName" FROM contractnotice WHERE (extract ("YEAR" from "contractStart") >= :startYear) AND "childCN" is null AND "agencyName" = :agency -GROUP BY lower(supplierName) ORDER BY val DESC limit $topX'; - $query = $conn->prepare($query); - $query->bindParam(":startYear",$startYear); - $query->bindParam(":agency",$agency); + + global $conn,$startYear, $yearQ; + includeFlot(); + + $topX = 20; + $query = 'SELECT SUM(value) as val, mode("supplierName") "supplierName" FROM contractnotice WHERE ' .$yearQ . ' extract ("YEAR" from "contractStart") >= :startYear AND "childCN" is null AND "agencyName" like :agency +GROUP BY lower("supplierName") ORDER BY val DESC limit '.$topX; + $query = $conn->prepare($query); + $query->bindParam(":startYear", $startYear); + $query->bindParam(":agency", $agency); $query->execute(); databaseError($conn->errorInfo()); $suppliers = Array(); @@ -220,11 +244,11 @@ } - $query = 'SELECT sum(a.val) as value, count(1) as count from (SELECT SUM(value) as val, "supplierName" FROM contractnotice WHERE (extract ("YEAR" from "contractStart") >= :startYear) AND "childCN" is null and "agencyName" = :agency -GROUP BY lower("supplierName") ORDER BY val DESC LIMIT 18446744073709551610 OFFSET $topX) as a'; - $query = $conn->prepare($query); - $query->bindParam(":startYear",$startYear); - $query->bindParam(":agency",$agency); + $query = 'SELECT sum(a.val) as value, count(1) as count from (SELECT SUM(value) as val, mode("supplierName") FROM contractnotice WHERE ' .$yearQ . '(extract ("YEAR" from "contractStart") >= :startYear) AND "childCN" is null and "agencyName" like :agency +GROUP BY lower("supplierName") ORDER BY val DESC LIMIT 184467440 OFFSET '.$topX.') as a'; + $query = $conn->prepare($query); + $query->bindParam(":startYear", $startYear); + $query->bindParam(":agency", $agency); $query->execute(); databaseError($conn->errorInfo()); foreach ($query->fetchAll() as $row) { @@ -233,275 +257,6 @@ $values[] = doubleval($row[0]); } } -} - -function CnCGraph() { - - global $conn; - $query = 'select procurementMethod, count(1) as count, SUM(value) as val, MONTH(contractStart) as month, YEAR(contractStart) as year from contractnotice -where $agencyQ $supplierQ $standardQ group by procurementMethod,year,month order by procurementMethod,year,month'; - $query = $conn->prepare($query); - $query->execute(); - databaseError($conn->errorInfo()); - - $methods = Array("Direct", "Open", "Select"); - $dates = Array(); - $methodCountsP = Array(); - $methodCounts = Array(); - $maxValue = 0; - foreach ($query->fetchAll() as $row) { - setlocale(LC_MONETARY, 'en_US'); - if ($row['val'] > $maxValue) - $maxValue = $row['val']; - $date = date('F ', mktime(0, 0, 0, $row["month"])) . $row["year"]; - if (array_search($date, $dates) === false) { - $dates[$row["year"] * 100 + $row["month"]] = $date; - ksort($dates); - } - $methodCountsP[$row["procurementMethod"]][$date] = $row["count"]; - } - foreach ($methods as $method) { - foreach ($dates as $date) { - if ($methodCountsP[$method][$date] > 0) - $methodCounts[$method][] = $methodCountsP[$method][$date]; - else - $methodCounts[$method][] = 0; - } - } - $dates = array_values($dates); - $totalRecords = array_sum_all($methodCounts); - - function formatCallback($aVal) { - global $totalRecords; - return percent($aVal, $totalRecords) . "%"; - } - - $attributes = Array(); - $attributeNames = Array( - "Consultancies", - "Confidentialities" - ); - $query = 'SELECT \'consultancy\', count(1) FROM contractnotice WHERE $agencyQ $supplierQ consultancy=\'Yes\' AND "childCN" is null;'; - $result = $conn->query($query); - $row = $result->fetch(PDO::FETCH_ASSOC); - $attributes[0] = $row[1]; - $query = 'SELECT \'confidentiality\', count(1) FROM contractnotice WHERE $agencyQ $supplierQ (confidentialityContract=\'Yes\' OR confidentialityOutputs=\'Yes\') AND "childCN" is null;'; - $result = $conn->query($query); - $row = $result->fetch(PDO::FETCH_ASSOC); - $attributes[1] = $row[1]; -} - -function ContractPublishedGraph() { - - global $conn; - $query = 'SELECT YEAR(publishDate), MONTH(publishDate), -SUM(value) as val, count(1) as count FROM contractnotice -WHERE (YEAR(publishDate) >= 2008) -AND "childCN" is null -GROUP BY MONTH(publishDate), YEAR(publishDate) -ORDER BY YEAR(publishDate), MONTH(publishDate)'; - - $query = $conn->prepare($query); - $query->execute(); - databaseError($conn->errorInfo()); - - $dates = Array(); - $values = Array(); - foreach ($query->fetchAll() as $row) { - setlocale(LC_MONETARY, 'en_US'); - $value = number_format(doubleval($row["val"]), 2); - $month_name = date('F', mktime(0, 0, 0, $row[1])); - $dates[] = $month_name . " {$row[0]}"; - $counts[] = doubleval($row["count"]); - $values[] = doubleval($row["val"]); - } -} - -function ContractStartingGraph() { - - global $conn; - $query = 'SELECT YEAR(contractStart), MONTH(contractStart), -SUM(value) as val, count(1) as count FROM contractnotice -WHERE (YEAR(contractStart) >= 2008) -AND "childCN" is null -GROUP BY MONTH(contractStart), YEAR(contractStart) -ORDER BY YEAR(contractStart), MONTH(contractStart)'; - - $query = $conn->prepare($query); - $query->execute(); - databaseError($conn->errorInfo()); - - $dates = Array(); - $values = Array(); - foreach ($query->fetchAll() as $row) { - setlocale(LC_MONETARY, 'en_US'); - $value = number_format(doubleval($row["val"]), 2); - $month_name = date('F', mktime(0, 0, 0, $row[1])); - $dates[] = $month_name . " {$row[0]}"; - $counts[] = doubleval($row["count"]); - $values[] = doubleval($row["val"]); - } -} - -function MethodCountGraph() { - - global $conn; - $query = 'select procurementMethod, count(1) as count, SUM(value) as value, MONTH(contractStart) as month, YEAR(contractStart) as year from contractnotice -where $agencyQ $supplierQ $standardQ group by procurementMethod,year,month order by procurementMethod,year,month'; - $methods = Array("Direct", "Open", "Select"); - $dates = Array(); - $methodCountsP = Array(); - $methodCounts = Array(); - $maxValue = 0; - $query = $conn->prepare($query); - $query->execute(); - databaseError($conn->errorInfo()); - - foreach ($query->fetchAll() as $row) { - setlocale(LC_MONETARY, 'en_US'); - if ($row['value'] > $maxValue) - $maxValue = $row['value']; - $date = date('F ', mktime(0, 0, 0, $row["month"])) . $row["year"]; - if (array_search($date, $dates) === false) { - $dates[$row["year"] * 100 + $row["month"]] = $date; - ksort($dates); - } - $methodCountsP[$row["procurementMethod"]][$date] = $row["count"]; - } - foreach ($methods as $method) { - foreach ($dates as $date) { - if ($methodCountsP[$method][$date] > 0) - $methodCounts[$method][] = $methodCountsP[$method][$date]; - else - $methodCounts[$method][] = 0; - } - } - $dates = array_values($dates); - $totalRecords = array_sum_all($methodCounts); -} - -function MethodValueGraph() { - - global $conn; - $query = "select procurementMethod, SUM(value) as value, MONTH(contractStart) as month, YEAR(contractStart) as year from contractnotice -where $agencyQ $supplierQ $standardQ group by procurementMethod,year,month order by procurementMethod,year,month"; - $methods = Array("Direct", "Open", "Select"); - $dates = Array(); - $methodValuesP = Array(); - $methodValues = Array(); - $maxValue = 0; - $query = $conn->prepare($query); - $query->execute(); - databaseError($conn->errorInfo()); - - foreach ($query->fetchAll() as $row) { - setlocale(LC_MONETARY, 'en_US'); - if ($row['value'] > $maxValue) - $maxValue = $row['value']; - $date = date('F ', mktime(0, 0, 0, $row["month"])) . $row["year"]; - if (array_search($date, $dates) === false) { - $dates[$row["year"] * 100 + $row["month"]] = $date; - ksort($dates); - } - $methodValuesP[$row["procurementMethod"]][$date] = $row["value"]; - } - foreach ($methods as $method) { - foreach ($dates as $date) { - if ($methodValuesP[$method][$date] > 0) - $methodValues[$method][] = $methodValuesP[$method][$date]; - else - $methodValues[$method][] = 0; - } - } - $dates = array_values($dates); - $totalRecords = array_sum_all($methodValues); -} - -function SuppliersGraph() { - - global $conn; - includeFlot(); - $topX = 10; - $suppliers = Array(); - $values = Array(); - - - $query = 'SELECT SUM("value") as value, MAX("supplierName") as supplierName, ( - case when "supplierABN" != 0 THEN "supplierABN"::text ELSE "supplierName" END) as supplierID -FROM contractnotice -WHERE "childCN" is null -GROUP BY supplierID -ORDER BY value DESC -LIMIT ' . $topX; - $query = $conn->prepare($query); - $query->execute(); - databaseError($conn->errorInfo()); - foreach ($query->fetchAll() as $row) { - setlocale(LC_MONETARY, 'en_US'); - // $value = number_format(doubleval($row["value"]) , 2); - $suppliers[] = ucsmart($row[1]); - $values[] = doubleval($row["value"]); - } - - $query = 'SELECT sum(a.svalue) as val, suppliercountry from (SELECT sum("value") as svalue, max("supplierCountry") as suppliercountry -FROM contractnotice WHERE "childCN" is null and "supplierCountry" NOT ILIKE \'Australia\' -GROUP BY "supplierName" ORDER BY svalue LIMIT 18446744073 OFFSET 10) as a group by suppliercountry order by val DESC limit 10 '; - $query = $conn->prepare($query); - $query->execute(); - databaseError($conn->errorInfo()); - - foreach ($query->fetchAll() as $row) { - $suppliers[] = "Other suppliers in " . ucsmart($row["suppliercountry"]); - $values[] = doubleval($row[0]); - } - - - $query = 'SELECT sum(a.value) as val, substring( -supplierpostcode from 0 for 2) as postcode from (SELECT sum(value) as value, max("supplierPostcode") as supplierpostcode, max("supplierCountry") as suppliercountry -FROM contractnotice WHERE "childCN" is null -GROUP BY "supplierABN" ORDER BY sum(value) LIMIT 1844674 OFFSET 10) as a -WHERE (suppliercountry ILIKE \'Australia\') -group by substring( -supplierpostcode from 0 for 2) -order by val DESC;'; - $query = $conn->prepare($query); - $query->execute(); - databaseError($conn->errorInfo()); - - foreach ($query->fetchAll() as $row) { - if ($row['postcode'][0] == 2 && $row['postcode'][1] == 6) - $ACTvalue += $row[0]; - else if ($row['postcode'][0] == 2 || $row['postcode'][0] == 1) - $NSWvalue += $row[0]; - else if ($row['postcode'][0] == 3 || $row['postcode'][0] == 8) - $Vicvalue += $row[0]; - else if ($row['postcode'][0] == 4 || $row['postcode'][0] == 9) - $QLDvalue += $row[0]; - else if ($row['postcode'][0] == 5) - $SAvalue += $row[0]; - else if ($row['postcode'][0] == 6) - $WAvalue += $row[0]; - else if ($row['postcode'][0] == 7) - $Tasvalue += $row[0]; - else if ($row['postcode'][0] == 0) - $NTvalue += $row[0]; - } - $suppliers[] = "Other suppliers in Australia - ACT"; - $values[] = doubleval($ACTvalue); - $suppliers[] = "Other suppliers in Australia - NSW"; - $values[] = doubleval($NSWvalue); - $suppliers[] = "Other suppliers in Australia - Victoria"; - $values[] = doubleval($Vicvalue); - $suppliers[] = "Other suppliers in Australia - Queensland"; - $values[] = doubleval($QLDvalue); - $suppliers[] = "Other suppliers in Australia - NT"; - $values[] = doubleval($NTvalue); - $suppliers[] = "Other suppliers in Australia - West Australia"; - $values[] = doubleval($WAvalue); - $suppliers[] = "Other suppliers in Australia - South Australia"; - $values[] = doubleval($SAvalue); - $suppliers[] = "Other suppliers in Australia - Tasmania"; - $values[] = doubleval($Tasvalue); ?> <script type="text/javascript"> $(function () { @@ -548,5 +303,340 @@ <?php } + +function CnCGraph() { + + global $conn; + $query = 'select procurementMethod, count(1) as count, SUM(value) as val, MONTH(contractStart) as month, YEAR(contractStart) as year from contractnotice +where $agencyQ $supplierQ $standardQ group by procurementMethod,year,month order by procurementMethod,year,month'; + $query = $conn->prepare($query); + $query->execute(); + databaseError($conn->errorInfo()); + + $methods = Array("Direct", "Open", "Select"); + $dates = Array(); + $methodCountsP = Array(); + $methodCounts = Array(); + $maxValue = 0; + foreach ($query->fetchAll() as $row) { + setlocale(LC_MONETARY, 'en_US'); + if ($row['val'] > $maxValue) + $maxValue = $row['val']; + $date = date('F ', mktime(0, 0, 0, $row["month"])) . $row["year"]; + if (array_search($date, $dates) === false) { + $dates[$row["year"] * 100 + $row["month"]] = $date; + ksort($dates); + } + $methodCountsP[$row["procurementMethod"]][$date] = $row["count"]; + } + foreach ($methods as $method) { + foreach ($dates as $date) { + if ($methodCountsP[$method][$date] > 0) + $methodCounts[$method][] = $methodCountsP[$method][$date]; + else + $methodCounts[$method][] = 0; + } + } + $dates = array_values($dates); + $totalRecords = array_sum_all($methodCounts); + + function formatCallback($aVal) { + global $totalRecords; + return percent($aVal, $totalRecords) . "%"; + } + + $attributes = Array(); + $attributeNames = Array( + "Consultancies", + "Confidentialities" + ); + $query = 'SELECT \'consultancy\', count(1) FROM contractnotice WHERE $agencyQ $supplierQ consultancy=\'Yes\' AND "childCN" is null;'; + $result = $conn->query($query); + $row = $result->fetch(PDO::FETCH_ASSOC); + $attributes[0] = $row[1]; + $query = 'SELECT \'confidentiality\', count(1) FROM contractnotice WHERE $agencyQ $supplierQ (confidentialityContract=\'Yes\' OR confidentialityOutputs=\'Yes\') AND "childCN" is null;'; + $result = $conn->query($query); + $row = $result->fetch(PDO::FETCH_ASSOC); + $attributes[1] = $row[1]; +} + +function ContractPublishedGraph() { + + global $conn, $yearQ; + $query = 'SELECT extract(year from "contractStart"),extract(month from "contractStart"), +SUM(value) as val, count(1) as count FROM contractnotice +WHERE '.$yearQ.' (extract(year from "contractStart") >= 2008) +AND "childCN" is null +GROUP BY extract(month from "contractStart"), extract(year from "contractStart") +ORDER BY extract(year from "contractStart"), extract(month from "contractStart")'; + + $query = $conn->prepare($query); + $query->execute(); + databaseError($conn->errorInfo()); + + $dates = Array(); + $values = Array(); + foreach ($query->fetchAll() as $row) { + setlocale(LC_MONETARY, 'en_US'); + $value = number_format(doubleval($row["val"]), 2); + $month_name = date('F', mktime(0, 0, 0, $row[1])); + $dates[] = $month_name . " {$row[0]}"; + $counts[] = doubleval($row["count"]); + $values[] = doubleval($row["val"]); + } +} + +function ContractStartingGraph() { + + global $conn, $yearQ; + $query = 'SELECT extract (YEAR from "contractStart") as year, extract (MONTH from "contractStart") as month, +SUM(value) as val, count(*) as count FROM contractnotice +WHERE '.$yearQ.' extract (YEAR from "contractStart") >= 2008 +AND "childCN" is null +GROUP BY extract (MONTH from "contractStart"), extract (YEAR from "contractStart") +ORDER BY extract (YEAR from "contractStart"), extract (MONTH from"contractStart")'; + + $query = $conn->prepare($query); + $query->execute(); + databaseError($conn->errorInfo()); +$dates = Array(); + $counts = Array(); + $values = Array(); + foreach ($query->fetchAll() as $row) { + setlocale(LC_MONETARY, 'en_US'); + $value = number_format(doubleval($row["val"]), 2); + $date = mktime(0, 0, 0, $row["month"],1,$row["year"])*1000; + if ($row["count"] > 1) { + $dates[] = $date; + $counts[] = $row["count"]; + $values[] = $row["val"]; + } + } + includeFlot(); + ?> + <center><div id="cstart" style="width:900px;height:550px"></div></center> + <script type="text/javascript"> + var placeholder = $("#cstart"); + $(function () { + + var d1 = []; + var d2 = []; + <?php + foreach ($counts as $key => $count) { + + echo "d1.push([ " . $dates[$key] . ", " . $count . "]); \n"; + }; + foreach ($values as $key => $value) { + + echo "d2.push([ " . $dates[$key] . ", " . $value . "]); \n"; + }; + d1d2Graph(true); +} + +function MethodCountGraph() { + + global $conn; + $query = 'select procurementMethod, count(1) as count, SUM(value) as value, MONTH(contractStart) as month, YEAR(contractStart) as year from contractnotice +where $agencyQ $supplierQ $standardQ group by procurementMethod,year,month order by procurementMethod,year,month'; + $methods = Array("Direct", "Open", "Select"); + $dates = Array(); + $methodCountsP = Array(); + $methodCounts = Array(); + $maxValue = 0; + $query = $conn->prepare($query); + $query->execute(); + databaseError($conn->errorInfo()); + + foreach ($query->fetchAll() as $row) { + setlocale(LC_MONETARY, 'en_US'); + if ($row['value'] > $maxValue) + $maxValue = $row['value']; + $date = date('F ', mktime(0, 0, 0, $row["month"])) . $row["year"]; + if (array_search($date, $dates) === false) { + $dates[$row["year"] * 100 + $row["month"]] = $date; + ksort($dates); + } + $methodCountsP[$row["procurementMethod"]][$date] = $row["count"]; + } + foreach ($methods as $method) { + foreach ($dates as $date) { + if ($methodCountsP[$method][$date] > 0) + $methodCounts[$method][] = $methodCountsP[$method][$date]; + else + $methodCounts[$method][] = 0; + } + } + $dates = array_values($dates); + $totalRecords = array_sum_all($methodCounts); +} + +function MethodValueGraph() { + + global $conn; + $query = "select procurementMethod, SUM(value) as value, MONTH(contractStart) as month, YEAR(contractStart) as year from contractnotice +where $agencyQ $supplierQ $standardQ group by procurementMethod,year,month order by procurementMethod,year,month"; + $methods = Array("Direct", "Open", "Select"); + $dates = Array(); + $methodValuesP = Array(); + $methodValues = Array(); + $maxValue = 0; + $query = $conn->prepare($query); + $query->execute(); + databaseError($conn->errorInfo()); + + foreach ($query->fetchAll() as $row) { + setlocale(LC_MONETARY, 'en_US'); + if ($row['value'] > $maxValue) + $maxValue = $row['value']; + $date = date('F ', mktime(0, 0, 0, $row["month"])) . $row["year"]; + if (array_search($date, $dates) === false) { + $dates[$row["year"] * 100 + $row["month"]] = $date; + ksort($dates); + } + $methodValuesP[$row["procurementMethod"]][$date] = $row["value"]; + } + foreach ($methods as $method) { + foreach ($dates as $date) { + if ($methodValuesP[$method][$date] > 0) + $methodValues[$method][] = $methodValuesP[$method][$date]; + else + $methodValues[$method][] = 0; + } + } + $dates = array_values($dates); + $totalRecords = array_sum_all($methodValues); +} + +function SuppliersGraph() { + + global $conn, $yearQ; + includeFlot(); + $topX = 10; + $suppliers = Array(); + $values = Array(); + + + $query = 'SELECT SUM("value") as value, mode("supplierName") as supplierName, ( + case when "supplierABN" != 0 THEN "supplierABN"::text ELSE "supplierName" END) as supplierID +FROM contractnotice +WHERE ' .$yearQ . ' "childCN" is null +GROUP BY supplierID +ORDER BY value DESC +LIMIT ' . $topX; + $query = $conn->prepare($query); + $query->execute(); + databaseError($conn->errorInfo()); + foreach ($query->fetchAll() as $row) { + setlocale(LC_MONETARY, 'en_US'); + // $value = number_format(doubleval($row["value"]) , 2); + $suppliers[] = ucsmart($row[1]); + $values[] = doubleval($row["value"]); + } + + $query = 'SELECT sum(a.svalue) as val, suppliercountry from (SELECT sum("value") as svalue, max("supplierCountry") as suppliercountry +FROM contractnotice WHERE "childCN" is null and "supplierCountry" NOT ILIKE \'Australia\' +GROUP BY "supplierName" ORDER BY svalue LIMIT 18446744073 OFFSET 10) as a group by suppliercountry order by val DESC limit 10 '; + $query = $conn->prepare($query); + $query->execute(); + databaseError($conn->errorInfo()); + + foreach ($query->fetchAll() as $row) { + $suppliers[] = "Other suppliers in " . ucsmart($row["suppliercountry"]); + $values[] = doubleval($row[0]); + } + + + $query = 'SELECT sum(a.value) as val, substring( +supplierpostcode from 0 for 2) as postcode from (SELECT sum(value) as value, max("supplierPostcode") as supplierpostcode, max("supplierCountry") as suppliercountry +FROM contractnotice WHERE "childCN" is null +GROUP BY "supplierABN" ORDER BY sum(value) LIMIT 1844674 OFFSET 10) as a +WHERE (suppliercountry ILIKE \'Australia\') +group by substring( +supplierpostcode from 0 for 2) +order by val DESC;'; + $query = $conn->prepare($query); + $query->execute(); + databaseError($conn->errorInfo()); + + foreach ($query->fetchAll() as $row) { + if ($row['postcode'][0] == 2 && $row['postcode'][1] == 6) + $ACTvalue += $row[0]; + else if ($row['postcode'][0] == 2 || $row['postcode'][0] == 1) + $NSWvalue += $row[0]; + else if ($row['postcode'][0] == 3 || $row['postcode'][0] == 8) + $Vicvalue += $row[0]; + else if ($row['postcode'][0] == 4 || $row['postcode'][0] == 9) + $QLDvalue += $row[0]; + else if ($row['postcode'][0] == 5) + $SAvalue += $row[0]; + else if ($row['postcode'][0] == 6) + $WAvalue += $row[0]; + else if ($row['postcode'][0] == 7) + $Tasvalue += $row[0]; + else if ($row['postcode'][0] == 0) + $NTvalue += $row[0]; + } + $suppliers[] = "Other suppliers in Australia - ACT"; + $values[] = doubleval($ACTvalue); + $suppliers[] = "Other suppliers in Australia - NSW"; + $values[] = doubleval($NSWvalue); + $suppliers[] = "Other suppliers in Australia - Victoria"; + $values[] = doubleval($Vicvalue); + $suppliers[] = "Other suppliers in Australia - Queensland"; + $values[] = doubleval($QLDvalue); + $suppliers[] = "Other suppliers in Australia - NT"; + $values[] = doubleval($NTvalue); + $suppliers[] = "Other suppliers in Australia - West Australia"; + $values[] = doubleval($WAvalue); + $suppliers[] = "Other suppliers in Australia - South Australia"; + $values[] = doubleval($SAvalue); + $suppliers[] = "Other suppliers in Australia - Tasmania"; + $values[] = doubleval($Tasvalue); + ?> + <script type="text/javascript"> + $(function () { + // data + var data = [ + <?php + foreach ($suppliers as $key => $supplier) { + echo '{ label: "' . $supplier . '", data: ' . doubleval($values[$key]) . '},'; + } + ?> + ]; + // GRAPH 7 + $.plot($("#graph7"), data, + { + series: { + pie: { + show: true, + radius: 1, + tilt: 0.75, + label: { + show: true, + radius: 1, + formatter: function(label, series){ + return '<div style="font-size:8pt;text-align:center;padding:2px;color:white;">'+label+': '+Math.round(series.percent)+'%</div>'; + }, + background: { + opacity: 0.5, + color: '#000' + } + }, + combine: { + color: '#999', + threshold: 0.012 + } + } + }, + legend: { + show: false + } + }); + }); + </script> + <div id="graph7" style="width:900px;height:550px"></div> + + <?php +} ?>