--- a/displayBubbletree.php +++ b/displayBubbletree.php @@ -24,62 +24,74 @@ $color = new Lux_Color(); -$unspscresult = mysql_query("select * from UNSPSCcategories;"); -while ($row = mysql_fetch_assoc($unspscresult)) { - $unspsc[$row['UNSPSC']] = $row['Title']; +$unspscresult= $conn->prepare('select * from "UNSPSCcategories";'); +$unspscresult->execute(); +foreach ($unspscresult->fetchAll() as $row) { + $unspsc[$row['UNSPSC']] = $row['Title']; + } $total = 0; -$cats = 0; -$catsresult = mysql_query("SELECT LEFT( categoryUNSPSC, 1 ) as cat , -SUM( value ) as value -FROM `contractnotice` -WHERE childCN = 0 -GROUP BY cat ;"); + +$catsresult = $conn->prepare('SELECT distinct substr( "categoryUNSPSC"::text, 0, 2 ) 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 +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']; + } + + + +$catthreesresult = $conn->prepare('SELECT substr( "categoryUNSPSC"::text, 0, 4 ) as cat , SUM( "value" ) as value +FROM contractnotice +WHERE "childCN" = 0 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; + } $nodes = Array(); -while ($row = mysql_fetch_assoc($catsresult)) { -$cats++; -$catColor = $color->hsl2hex(Array($cats/10, .7, .5)); - $catName = $unspsc[$row['cat'] . "0000000"] . $row['cat']; - if ($row['cat'] == "") $catName = "null"; +foreach ($cats as $catNum) { +$catColor = $color->hsl2hex(Array($catNum/10, .7, .5)); + $catName = $unspsc[$catNum . "0000000"] . $catNum; $subnodes = Array(); - $cattwosresult = mysql_query("SELECT LEFT( categoryUNSPSC, 2 ) as cat , -SUM( value ) as value -FROM `contractnotice` -WHERE childCN = 0 and LEFT( categoryUNSPSC, 1 ) = '{$row['cat']}' -GROUP BY cat ;"); - while ($tworow = mysql_fetch_assoc($cattwosresult)) { - $subcatName = $unspsc[$tworow['cat'] . "000000"] . $tworow['cat']; - if ($tworow['cat'] == "") $subcatName = "null"; + $catValue = 0; + foreach ($cattwos[$catNum] as $twoCatNum) { + $subcatName = $unspsc[$twoCatNum. "000000"] .$twoCatNum; $subsubnodes = Array(); - $catthreesresult = mysql_query("SELECT LEFT( categoryUNSPSC, 3 ) as cat , -SUM( value ) as value -FROM `contractnotice` -WHERE childCN = 0 and LEFT( categoryUNSPSC, 2 ) = '{$tworow['cat']}' -GROUP BY cat ;"); - $subCatColor = $color->hsl2hex(Array($cats/10, rand(1,10)/10, .5)); - while ($threerow = mysql_fetch_assoc($catthreesresult)) { + $subCatValue = 0; + $subCatColor = $color->hsl2hex(Array($catNum/10, rand(1,10)/10, .5)); + foreach ($catthrees[$twoCatNum] as $threerow) { $subsubcatName = $unspsc[$threerow['cat'] . "00000"] . $threerow['cat']; - if ($threerow['cat'] == "") $subsubcatName = "null"; $subsubnodes[] = Array( "label" => $subsubcatName, "amount" => $threerow['value'], "color" => "#".$subCatColor ); + $subCatValue += $threerow['value']; } $subnodes[] = Array( "label" => $subcatName, - "amount" => $tworow['value'], + "amount" => $subCatValue, "color" => "#".$subCatColor, "children" => $subsubnodes ); + $catValue += $subCatValue; } $nodes[] = Array( "label" => $catName, - "amount" => $row['value'], + "amount" => $catValue, "color" => "#".$catColor, "children" => $subnodes ); - $total+= $row['value']; + $total += $catValue; } $data = Array( "label" => "Australian Federal Government Contract Spending",