Much more optimized bubble tree
[contractdashboard.git] / displayBubbletree.php
blob:a/displayBubbletree.php -> blob:b/displayBubbletree.php
--- a/displayBubbletree.php
+++ b/displayBubbletree.php
@@ -32,44 +32,44 @@
 }
 $total = 0;
 
-$catsresult = $conn->prepare('SELECT distinct substr( "categoryUNSPSC"::text, 0, 2 ) as cat 
+$catsresult = $conn->prepare('SELECT distinct substr( "categoryUNSPSC"::text, 0, 3 ) as cat 
 FROM contractnotice WHERE "categoryUNSPSC" IS NOT NULL group by "categoryUNSPSC";;');
 $catsresult->execute();
 foreach ($catsresult->fetchAll() as $row) {
 	$cats[] = $row['cat'];
 }
-$cattwosresult = $conn->prepare('SELECT distinct substr( "categoryUNSPSC"::text, 0, 3 ) as cat
+$cattwosresult = $conn->prepare('SELECT distinct substr( "categoryUNSPSC"::text, 0, 5 ) as cat
 FROM contractnotice
 WHERE "categoryUNSPSC" IS NOT NULL
 GROUP BY  "categoryUNSPSC"  order by cat ;');
 $cattwosresult->execute();
 		foreach ($cattwosresult->fetchAll() as $tworow) { 
-			$cattwos[substr($tworow['cat'],0,1)][] = $tworow['cat'];
+			$cattwos[substr($tworow['cat'],0,2)][] = $tworow['cat'];
 		}
 				
 	
 
-$catthreesresult = $conn->prepare('SELECT substr( "categoryUNSPSC"::text, 0, 4 ) as cat , SUM( "value" ) as value
+$catthreesresult = $conn->prepare('SELECT substr( "categoryUNSPSC"::text, 0, 7 ) as cat , SUM( "value" ) as value
 FROM contractnotice
-WHERE "childCN" = 0 and "categoryUNSPSC" IS NOT NULL
+WHERE "childCN" is null and "categoryUNSPSC" IS NOT NULL
 GROUP BY cat order by cat ;');
 $catthreesresult->execute();
 		foreach ($catthreesresult->fetchAll() as $threerow) { 
-			$catthrees[substr($threerow['cat'],0,2)][] = $threerow;
+			$catthrees[substr($threerow['cat'],0,4)][] = $threerow;
 		}
 $nodes = Array();
 foreach ($cats as $catNum) {
-$catColor = $color->hsl2hex(Array($catNum/10, .7, .5));
-	$catName = $unspsc[$catNum . "0000000"] . $catNum;
+$catColor = $color->hsv2hex(Array($catNum/10, .7, abs(($catNum*(1/10))-.5) + .5));
+	$catName = substr($unspsc[$catNum . "000000"],0,18) . $catNum;
 	$subnodes = Array();
 	$catValue = 0;
 	foreach ($cattwos[$catNum] as $twoCatNum) {
-		$subcatName = $unspsc[$twoCatNum. "000000"] .$twoCatNum;
+		$subcatName = $unspsc[$twoCatNum. "0000"] .$twoCatNum;
 		$subsubnodes = Array();
-	$subCatValue = 0;
-		$subCatColor = $color->hsl2hex(Array($catNum/10, rand(1,10)/10, .5));
+	$subCatValue = 1;
+		$subCatColor = $color->hsv2hex(Array($catNum/10, rand(1,10)/10, abs(($catNum*(1/10))-.5) + .5));
 		foreach ($catthrees[$twoCatNum] as $threerow) {
-			$subsubcatName = $unspsc[$threerow['cat'] . "00000"] . $threerow['cat'];
+			$subsubcatName = $unspsc[$threerow['cat'] . "00"] . $threerow['cat'];
 			$subsubnodes[] = Array(
 				"label" => $subsubcatName,
 				"amount" => $threerow['value'],